File size: 6,921 Bytes
d60ed1f
 
 
 
a389c4e
d60ed1f
 
 
 
 
 
 
 
 
c7bea8f
 
d60ed1f
 
 
 
 
0ec2085
d60ed1f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
99ab21c
 
 
d60ed1f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9950333
0ec2085
 
9950333
 
 
 
0ec2085
 
d60ed1f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c9e090a
d60ed1f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
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](https://huggingface.co/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  πŸ€—

    The current set of tags reflect our initial categorization from going through Hugging Face Spaces: 🀝 consentful, 🌎 sustainable, πŸ‘οΈβ€πŸ—¨οΈ socially conscious, πŸ§‘β€πŸ€β€πŸ§‘ inclusive, ✍️ rigorous, and πŸ€” inquisitive.

    Let us know other relevant categories and examples that you find!
    
    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()