|
import gradio as gr |
|
import os |
|
|
|
hf_writer = gr.HuggingFaceDatasetSaver( |
|
os.getenv('HUGGING_FACE_HUB_TOKEN'), |
|
organization="society-ethics", |
|
dataset_name="featured-spaces-submissions", |
|
private=True |
|
) |
|
|
|
principles = [ |
|
{ |
|
"title": "Consentful", |
|
"content": """ |
|
[What is consentful tech?](https://www.consentfultech.io) |
|
Consentful technology supports the self-determination of people who use and are affected by these technologies. |
|
|
|
For Spaces, some examples of this can include: |
|
|
|
- Demonstrating a commitment to acquiring data from willing, informed, and appropriately compensated sources. |
|
- Designing systems that respect end-user autonomy, e.g. with privacy-preserving techniques. |
|
- Avoiding extractive, chauvinist, ["dark"](https://www.deceptive.design), and otherwise "unethical" patterns of engagement. |
|
""" |
|
}, |
|
{ |
|
"title": "Sustainable", |
|
"content": """ |
|
These are Spaces that highlight and explore techniques for making machine learning ecologically sustainable. |
|
|
|
Examples could include: |
|
|
|
- Tracking emissions from training and running inferences on large language models. |
|
- Quantization and distillation methods to reduce carbon footprints without sacrificing model quality. |
|
""" |
|
}, |
|
{ |
|
"title": "Socially Conscious", |
|
"content": """ |
|
"Socially Conscious" Spaces show us how machine learning can be applied as a force for *good*! |
|
|
|
This is quite broad, but some examples could be: |
|
|
|
- Using machine learning as part of an effort to tackle climate change. |
|
- Building tools to assist with medical research and practice. |
|
- Developing models for text-to-speech, image captioning, and other tasks aimed at increasing accessibility. |
|
- Creating systems for the digital humanities, such as for Indigenous language revitalization. |
|
""" |
|
}, |
|
{ |
|
"title": "Inclusive", |
|
"content": """ |
|
These are projects which broaden the scope of who *builds* and *benefits* in the machine learning world. |
|
|
|
This could mean things like: |
|
|
|
- Curating diverse datasets that increase the representation of underserved groups. |
|
- Training language models on languages that aren't yet available on the Hugging Face Hub. |
|
- Creating no-code frameworks that allow non-technical folk to engage with AI. |
|
""" |
|
}, |
|
{ |
|
"title": "Rigorous", |
|
"content": """ |
|
Among the many concerns that go into creating new models is a seemingly simple question: "Does it work?" |
|
|
|
Rigorous projects pay special attention to examining failure cases, protecting privacy through security |
|
measures, and ensuring that potential users (technical and non-technical) are informed of the project's |
|
limitations. |
|
|
|
For example: |
|
|
|
- Projects built with models that are well-documented with [Model Cards](https://huggingface.co/docs/hub/model-cards). |
|
- Models that are evaluated against cutting-edge benchmarks, with results reported against disaggregated sets. |
|
- Demonstrations of models failing across ["gender, skin type, ethnicity, age or other attributes"](http://gendershades.org/overview.html). |
|
- Techniques for mitigating issues like over-fitting and training data memorization. |
|
""" |
|
}, |
|
{ |
|
"title": "Inquisitive", |
|
"content": """ |
|
Some projects take a radical new approach to concepts which may have become commonplace. These projects, often |
|
rooted in critical theory, shine a light on inequities and power structures which challenge the community to |
|
rethink its relationship to technology. |
|
|
|
For example: |
|
|
|
- [Reframing AI and machine learning from Indigenous perspectives](https://jods.mitpress.mit.edu/pub/lewis-arista-pechawis-kite/release/1). |
|
- [Highlighting LGBTQIA2S+ marginalization in AI](https://edri.org/our-work/computers-are-binary-people-are-not-how-ai-systems-undermine-lgbtq-identity/). |
|
- [Critiquing the harms perpetuated by AI systems](https://www.ajl.org). |
|
""" |
|
}, |
|
] |
|
|
|
|
|
def toggle_description(title, content): |
|
with gr.Accordion(label=title, open=False): |
|
gr.Markdown(content, elem_id="margin-top") |
|
|
|
|
|
def submit_entry(URL, tags, suggestions, comments): |
|
hf_writer.flag( |
|
flag_data=[URL, tags, suggestions, comments] |
|
) |
|
|
|
return [ |
|
gr.Markdown.update( |
|
visible=True, |
|
value="Thank you for your submission! π€" |
|
), |
|
gr.Button.update( |
|
visible=False |
|
) |
|
] |
|
|
|
|
|
with gr.Blocks(css="#margin-top {margin-top: 15px}") as demo: |
|
gr.Markdown("## Call for submissions! π’") |
|
gr.Markdown(""" |
|
Hugging Face is collecting examples of Spaces that are ethically mindful to highlight and encourage these kinds of projects βΒ and we would love your input! |
|
|
|
If you have built a Space that you think should be featured, or if you would like to nominate someone else's, paste the URL in the form below π€ |
|
|
|
Want to learn more? Join us over at **#ethics-and-society** on the [Hugging Face Discord](https://hf.co/join/discord)! |
|
""") |
|
with gr.Row(): |
|
with gr.Column(): |
|
gr.Markdown("π‘ Click on the terms below to view their description and some examples.") |
|
with gr.Column(): |
|
[toggle_description(x["title"], x["content"]) for x in principles] |
|
|
|
with gr.Column(): |
|
URL = gr.Text(label="URL") |
|
tags = gr.Checkboxgroup( |
|
label="Tags - Pick as many as you like!", |
|
choices=[ |
|
"Consentful", |
|
"Sustainable", |
|
"Socially Conscious", |
|
"Inclusive", |
|
"Rigorous", |
|
"Inquisitive", |
|
] |
|
) |
|
suggestions = gr.Text(label="[Optional] Do you have suggestions for other tags?") |
|
comments = gr.TextArea(label="[Optional] Any extra comments?") |
|
submit = gr.Button(value="Submit") |
|
thank_you = gr.Markdown(visible=False) |
|
|
|
submit.click( |
|
fn=submit_entry, |
|
inputs=[URL, tags, suggestions, comments], |
|
outputs=[thank_you, submit] |
|
) |
|
|
|
hf_writer.setup( |
|
components=[URL, tags, suggestions, comments], |
|
flagging_dir="flagged" |
|
) |
|
|
|
demo.launch() |
|
|