1. Copilot makes a suggestion that implies gender is binary, a certain community explodes with anger and an entire news hype cycle starts about how Microsoft is enforcing views on gender with code.
2. Copilot makes a suggestion that implies gender is nonbinary, a certain community explodes with anger and an entire news hype cycle starts...
You can't win... so why not plea the fifth?
To all those claiming this is an example of "wokeism", remember the proper response from an individual who believes in nonbinary gender would be to offer suggestions of the sort. There is no advocacy here. Mums the word.
Certain words are heavily loaded and are worth just skipping to avoid all the hassle for now.
If you didn't meant "should be" (for which I'm not willing to take any position), no, Copilot is not a product for adults [1] [2].
[1] https://docs.github.com/en/site-policy/github-terms/github-t... "A User must be at least 13 years of age."
[2] https://docs.github.com/en/site-policy/github-terms/github-t...
What I would've preferred one of these threads to be about is how all of this works. Like, how do they post-hoc filter certain things? Is that the only way to deal with things defined as issues in ML?
You can't be neutral on a moving train, as they say.
If I were Microsoft, I would post a shrugie and say copilot offers arbitrary responses based on the actual code it reads; it is not supposed to be "correct" or good or fair, but just follow what it sees other people do.
While I agree with you, that is very much the game that is being played here. We have competing world views and one way to help a world view dominate is to play a linguistic war. That was the point of Newspeak in 1984 (https://en.wikipedia.org/wiki/Newspeak). If you control the language such that competing ideas are instantly taboo just by the words required to describe them you can stop people from promulgating those ideas. So you gain ground without ever having to debate the new ideas.
This has happened in many countries when one religion dominated. Western society was starting to get to the point where it taboos were being shed and ideas could win based on their merit. Sadly we're regressing back to a society controlled by dogma rather than an open exchange of ideas. I suspect this is the normal state of human societies, we fluctuate between open and closed societies.
The last time Microsoft did that, they ended up with their bot posting racist content on twitter. They of all people understand that just following what people do on the internet is a recipe for disaster.
The idea of science is to get rid of models that are wrong.
A certain community explodes with anger since their machine learning dev-tooling is closed and has arbitrary restrictions.
If you try to please everybody, someone won't like it.
let's not handle ethnicity, if we're going to be sensitive about gender that is an area which is also sensitive for many people.
should it take border disputes etc. into consideration, if you're using it in country X and country X thinks a particular area belongs to them despite most of the world disagreeing will you not be able to use copilot to generate code that supports your remote employers international operations?
it would make better sense if Copilot had warnings it could issue and when you wanted gender put up some sort of warning about that - or allow you to choose binary gender / multi gender solutions.
The idea that it should fail, and that makes sense for it to do so is essentially a critique of the whole code generation idea.
on edit: obviously HN should be able to come up with lots of other things that might cause media related problems if CoPilot handled it, code to detect slurs, etc. etc.
How would that work though? What can Copilot suggest that can imply that?
If gender is true
Do something…
Else if gender is not true
Do something else
Else
Do nothingBut I agree you can't avoid offending people. The world is nuts everything is offensive to someone.
And also: give the list of banned words
You have made up a total strawman. It is like if someone said "If that person were stabbed with a knife, they would be angry", and you responded "Do people really get angry at emotionless knives? That's a mental problem, their anger is directed inward".
We're zeroing in on how silly is it for copilot to trigger its content filter on the word "gender".
To me the real issue is that copilot has a content filter in the first place. It's unwelcome and unnecessary.
They refer to it as “eliminating bias”, but it’s really just an attempt to mold these new technologies into conformance with one very specific set of ideological commitments.
Proponents view it as some kind of obvious universal good, and are confused when anyone else is appalled by the blind foolishness of it all.
I don't think, e.g. being able to handle black faces correctly is some sort of massive ideological commitment. So let's not pretend that the entire concern of bias in AI is irrelevant, no matter where you stand on gender.
> conformance with one very specific set of ideological commitments
You know-- let's just talk about basic respect and dignity: if someone strongly wants to be referred to in a particular way, the polite response is to respect their wishes. If there's a lot of people in this category, it makes sense for your system to address it.
If you instead build your system in a way that you don't achieve this, you're being rude. If you use old training data and refer to people as a "Mongoloid" as a result-- don't be surprised that people are offended. Ditto, if you use old training data about gender that doesn't match many peoples' current expectations.
It is quite literally creating bias.
"Microsoft's AI Twitter bot goes dark after racist, sexist tweets"
https://www.reuters.com/article/us-microsoft-twitter-bot-idU...
Whatever text I write in Word, is written by Microsoft too, by extension?
*not*
For example https://www.cbsnews.com/news/microsoft-shuts-down-ai-chatbot...
If you have to deal with those kind of people, you're willing to sound silly just to protect yourself.
"What was going on in the head of the person writing the parser?"
I mean, were they thinking that if someone is writing code, let's say, for a gender dropdown and it was only ["male", "female"], it would try to suggest to us to add 26 more genders instead (and worse, suggest a list of genders to add)?
Would the intention be to correct us and popup a message saying "We suggest you add more genders so as not to displease the users of your product"??
What was going on in that person's head who is trying to do all of this? What was their thought process? What were they trying to accomplish around gender?
Was it the programmer, or some product manager that insisted on some kind of "copilot adjustment" for this because of a personal political viewpoint or just for GitHub being more woke?
That's the most troubling aspect to this.
I hope to Jesus Christ it was just a mistake.
The issue isn't that it isn't producing a suggestion, but that it stops producing a suggestion altogether for the rest of the file.
I don't use copilot anymore because it just results in poor quality code and additional cognitive overhead (because you need to read and discard the shitty suggestions) as you type. It both slows you down and exhausts you. So you can really think of this as a feature. You'll write much better code as soon as copilot shuts down. It should do this more often.
> Would the intention be to correct us and popup a message saying "We suggest you add more genders so as not to displease the users of your product"??
You can just as easily assume that they don't want a dropdown with 26 additional genders to just pop up automatically. That would upset a lot of people, many of whom are in this thread. I think whoever wrote the code doesn't want to jump into a political shitstorm.
Hurting the feelings of the true believers, was the ultimate sin, a sin often committed, but only punished if the sinner did not recant and change his ways, in a brutally public and official way. It was there, that the ____ church revealed what it was really all about all along. Societal control, maybe with good intentions to start with, but in the end, just control for its own sake and to prevent others from archieving the same control.
Not saying, that any social movement could turn into a religion. That would need strange clothing, processions, rituals, codified language and most of all a mythology.
I have no religious preference, im on the side of science and would like to have a civil society, were no member is violated by another. I would very much prefer it, if the combatant religions involved, could leave science alone. Reality is often disappointing.
May the religion with the least suffering caused win and then keep away from the state & power.
I think the goal of any sufficiently large society should be that any religion or ideology can rise. Many people can become a part of that, yet the religion or ideology is unable to persecute those how don't agree with it.
I also have no idea how you achieve that. It's my utopia and like most people's vision of a utopia is probably not possible in reality.
If your autocomplete was capable of spitting out suggestions that made you feel isolated or kept poking you in the eye about aspects of your identity, you might feel a bit better about the creators having thought about that and taken steps to avoid it happening.
Gender is, in actual material fact, binary, and extremely strongly correlated with sex. Building a crimestop into an ML model is just teaching the machine human biases and delusions.
A metaphor for our times.
Looking back, I don't even know why I made it an enum, rather than a 1-bit bitfield called is_woman - but in the end I was glad I didn't, because the art director moaned a bit about the clothing colour distribution, and somebody asked if we could have some mascots, and there were some complaints about the unreasonable number of interesting hats. And, so, long story short, by the time we were done, we had 18 genders based on clothing colour and type of hat, 2 genders for mascot (naturally: tall, and squat), and a table to control the relative distributions.
Once we got to 5 genders I tried to change the enum name to Type - but we had this data-driven reflection system that integrated with various parts of the art pipeline, and once your enum had a name, that was pretty much that. You were stuck with it.
Is that a metaphor for our times too? I don't know. My own view is that sometimes stuff just happens, and you can't read too much into it.
Interestingly, I don't know of any zoological cases that would require more than a short int to enumerate.
> A metaphor for our times.
Social media amplifies an innocuous, extremely low stakes occurrence into a heated discussion because it happened to misstate the facts (nothing is crashing here) and focus on a hot button keyword ("gender" is only one of many blocked words)?
More and more things are going to be filtered through large language model apps and the possibilities for cascading failures will be even more interesting than what exists presently.
I was able to get GPT-3 to spit out reasonably accurate biographies for a couple of composers I know.
GPT-3 could go even further — one of my composer friends has a reasonably rare first name, and when given the prompt "There once was a man named $first_name", GPT-3 responded with a number of limericks tailored to his particular set of skills.
There once was a man named $first_name,
Who never accepted the blame.
He went on a bender,
And talked about gender
[INFO] [default] [2022-07-10T07:59:07.641Z] [fetchCompletions] engine https://copilot-proxy.githubusercontent.com/v1/engines/copilot-codexI would not be surprised if someone found some Copilot output stemming from "gender" and reported to MSFT/GitHub for them to simply short circuit or "break" after finding certain keywords.
For images/ video I can see merit, ex: using that nudity inference project on images of children, but text seems particularly pointless.
For example, a couple years ago, there was a big hubbub over a Google Image labeler that labeled a black man and woman as "gorillas". A mistake for sure, but the headlines about the algorithm being "racist" were wrong. The algorithm was certainly incorrect, and it could probably have been argued that one reason it was wrong is that its training set contained fewer black people than white people, but the algorithm was certainly unaware of the historical context around this being a racist description.
Similarly, in the early days of Google driving directions I remember one commenter saying something along the lines of "You can tell that no black engineers work at Google" because it pronounced "Malcolm X Boulevard" as "Malcolm 10 Boulevard". Of course, the vast majority of time you see a lone "X" in a street address it is pronounced "ten".
It's kind of analogous to the "uncanny valley" problem in graphics. When the algorithm gets things mostly right, people think of it as "human-like", and so when it makes a mistake, people attribute human logic to it (it's quite safe to assume that a human labeling a picture of black people as gorillas is racist), as opposed to the plain statistical inferences ML models make.
https://www.theverge.com/2016/3/24/11297050/tay-microsoft-ch...
File under not "Why we can't have nice things", but "downstream effects of why we can't have nice things".
This is my mental image of how company happy-hour-Fridays play out. It's one of the reasons I don't drink.
[And if you're curious, in fact I'm not fun at parties ;) ]
This is absolutely silly. Solid work GitHub team!
Perhaps Github is worried about a backlash if it suggests code that allows for more than 2 values.
I wonder if this is to prevent it from accidentally processing PII or PHI data. Maybe someone else who didn’t get their account on some kind of cooldown can try it with “birthdate” or “DOB” or “SSN”. I highly doubt this has anything to do with gender being a controversial or blocked term for political reasons or something.
If people were trying to reproduce it and failing, I agree with you that would be a different story.
Are you unable to believe someone might think differently than you do, without it being explained away as "artificial voting"?
Edit to add: Nice, they edited their comment. Previously it accused HN of having an artificial voting conspiracy. So that is what my comment was about. I will not edit my original comment above.
I'm pretty sure a bot would swoop in and say something like "NO LOL" which ironically only encourage more LOL.
Does GitHub Copilot produce offensive outputs?
GitHub Copilot includes filters to block offensive language in the prompts and to avoid synthesizing suggestions in sensitive contexts. We continue to work on improving the filter system to more intelligently detect and remove offensive outputs. However, due to the novel space of code safety, GitHub Copilot may sometimes produce undesired output. If you see offensive outputs, please report them directly to copilot-safety@github.com so that we can improve our safeguards. GitHub takes this challenge very seriously and we are committed to addressing it.
The bugs apparent trigger word is close to hot-button poli-sci issue. Can we please focus on the Technology.
I totally agree that this story has a high risk of flamewars.
But it definitely has heavy Technology component, too.
Are there any other break-words? Master, slave, Carlin's seven words, etc?
This means one solution for those worried about copilot laundering around code licenses is to put a statement like "for more details check the man page" at the end of each docstring.
I'm just honestly super exhausted by any of the insanity right now, not even only regarding this topic. It's just complete black-and-white thinking these days, no matter about what it is. Extremes only. The stronger your opinion the better, how else would you feel like you exist? Almost no one with a rational, centered overarching perspective. Twenty years ago 50% of the current population would've been considered as possibly having BPD.
Is it? To me it feels like it's getting worse and worse, but that might be my bubble.
Twitter is so idiotically designed that it just makes things worse and worse.
With Twitter, they don't distinguish between positive engagement (retweets, positive replies) and negative engagement (critical quote tweets, critical replies)... their algorithm just stupidly sees the engagement and amplifies the tweet.
There's no wonder that a lot of the most extremist politicians (on the right and left) built their followings on Twitter.
I don't mean to make it political, but the last president of the united states was able to build a massive following almost exclusively through one political platform... (which he later got banned from)
For some reason, YouTube's decided to jump on the same bandwagon by removing dislikes (if there is no feedback from dislikes, then people will stop clicking them).
Some people feel that wokeness is ruining the world. I can't really speak to that position because my political initialization was on the other side of the cultural gulf in America.
The way I have come to understand transgender issues is very much shaped by the political left, but also by a religious upbringing (Catholic, Jesuit). On the left, I am told that this is a human rights issue. I am inclined to believe that transgender people have a hard time in life. I am also inclined to believe that it is not a mental disorder, and I came to these conclusions through conversations with transgender people I have worked with in the past, as well as through what I learned in my psychology classes in high school and college.
I am a white male who was born that way, but I definitely know what it feels like to be ridiculed, to not belong and to feel that there is no right place for me in this world. I have been abused, made to feel small, ostracized and bullied. Those experiences have given me a pretty deep understanding of what suffering is, and how it can be caused. It has also softened me and made me pretty empathetic to others who feel they don't belong in this world.
As an example, I was once at a comedy show where a comedian made a transgender-adjacent joke. The humor of the joke was all in a stupid pun, and I thought it was pretty funny because I like stupid puns. But there was a transgender woman in the audience who got immediately angry. I don't remember exactly what she said, but it was something along the lines of "That's not funny, I'm sick of people like you shouting at me in the street!!". If I had to go though my life having people shouting at me in the streets of NYC because of how I looked vs how other people thought I should look, I may have responded in the same way. I thought the joke was funny, but for her it touched on some deeply painful memories of abuse, dragged them to the surface, and activated a lightning-quick temper. Perhaps if I'd been abused for as long as she, and in the same way, I wouldn't have thought the joke was funny either.
I understand people don't like being corrected, or told that they're wrong or that they're hateful. I don't think that is a productive way to bring about change; and yet, I have found myself picking fights with my parents, and getting generally nasty when they have failed to understand some value I have learned that I did not learn from them. That is obviously a bad thing, because the message they come away with is "what a jerk!" or "those damn lefties!". What I'd rather have people come away with after they hear me speak is something quite different. It was only after raging at my parents enough times that I decided I just wouldn't talk to my parents about politics. There is more right about my parents than there is wrong about them; they are getting older and their bodies will decline until they die. Most likely it will happen to them before it happens to me, at a time when I am able in body and mind, so I intend (even though I sometimes fail) to spend the rest of our time together as peacefully as possible.
I offer this earnestly in good faith. Sometimes the message gets muddied in the delivery, or because I get upset when I perceive (or sometimes, misperceive) that someone is being uncaring for those who are already suffering enough. I think I react that way because of my own history of abuse.
I am also open to hearing the other side of this story. I have attempted not to misrepresent $OTHER_SIDE's view of things. I am only speaking to why I have such strong feelings about this issue. I am sure others have equally strong feelings on another side, and I am open to hearing what that sounds like, provided the viewpoint is offered with respect.
We can be empathetic without placating some really tyrannical trends.
function genderPrintResult (GenderBool)
if GenderBool: print "Yes"
else: print "No"
GenderMyVar = rand(10);
GenderThreshhold = 5;
genderPrintResult( GenderMyVar > GenderThreshold)You literally can't make any statements about gender, no matter how benign, without pissing at least a few of your users off.
https://twitter.com/moyix/status/1433254293352730628?t=NIpgb...
Anyone have any good recommendations for Copilot alternatives?
You can see it in the original link to the discussion: Answer selected by davecheney
Now I’ve got Gen-Z developers that are confused and upset when `git init` does what it’s always done.
GitHub, Microsoft ownership notwithstanding, was always going to inject its employees’ politics into Copilot.
Except some people want to punish others for their opinions. That is the gasoline. And Microsoft is selling gas cans.
It’s a comment from a third party speculating over what causes the crash.
> Heargo 24 days ago > Thanks, I'll try as soon as I get the problem again (somehow it's not bugged anymore...).
Looks like it was just a temporary issue with no evidence that's it's due to a word filter.
https://twitter.com/moyix/status/1433254293352730628
The Register wrote about it too: https://www.theregister.com/2021/09/02/github_copilot_banned...
They have since moved the bad word list server-side to prevent people from figuring out what's on it, but it's still there. This is easy to verify, just ask it to complete something that would include a banned word; my favorite here is "Israel", and it will just sit there and refuse to complete, either via inline suggestions or in the sidebar view that gives you 10 choices:
https://i.imgur.com/O97YwKc.png
This was what I managed to decode of the list (in ROT13 form to prevent accidental offense):
https://moyix.net/~moyix/copilot_slurs_rot13.txt
No doubt they've added and removed some things since then.