We're planning to join Google Summer of Code with PySAL again this year. Though so far, it is not going well. We see a massive increase in people “wanting to get in touch and make a small contribution" before the student application window opens. PRs generated by LLMs, responses to our questions generated by LLMs (ffs!), demands to point them to easy issues, flooded Discord, private emails (ffs 2x!!). I've never seen this before. It is a DDoS on our maintenance capacity and I hate it all. #rant
생성 AI 논의에 대해 두서없이 몇 가지
오랫동안 머신러닝 딥러닝 AI 모델링을 업으로 삼아 왔지만 정작 LLM이나 이미지 생성 같은 생성쪽은 피해다니다 보니[1] 이쪽 주제에 대해 아는 척 하기도 쉽지 않지만.. 관련 논의들 구경하다 보면 제가 평소 생각하는 중요 지점들이 잘 이야기되지 않는 것 같아 의식의 흐름을 따라 이것저것 남겨봅니다.
우선 모델이 생성한 결과물이 어떤 성격이나 맥락을 가지는지에 따라 저작권 문제가 완전히 달라지는데, 이건 원래 저작권에 대한 전반적인 성격이 그러하기 때문입니다. 기존 저작물을 복사/변형하더라도 그 목적이 원래 저작물과 판이하게 다를수록 저작권 침해가 아니라 fair use로 인정받을 가능성이 높아집니다.
맥락과 의도가 얼마나 중요한지를 보여주는 상징적인 사례가 구글 북스 소송인데, 구글 북스는 저작권이 있는 책을 사용자들에게 그대로 보여주니까 심각한 저작권 침해로 보일 수 있지만, 법정에서는 구글 북스 웹사이트가 원래 책 내용을 그대로 접근하는 목적을 막고 검색이라는 새로운 목적에만 사용가능하도록 했다고 판단했습니다.
이러한 다양한 사례 연구들이 Foundation Models and Fair Use에 나와 있습니다. 이 논문은 AI 연구자들과 법학 연구자가 같이 썼고 여러 legal edge case가 등장해서 생각을 정리하는 데에 도움이 될 수 있습니다.
Fair use의 핵심 요소인 transformative에 대해 AI모델 입장에서 보면, 사용자가 준 입력 텍스트에 있는 정보를 추출하거나 변환하는 task가 이에 해당할 가능성이 높습니다. 가장 유명한 예시가 텍스트 번역일 것 같은데, 사용자가 입력한 텍스트를 다른 언어로 바꾸는 것이 전부고 거기에 새로운 창작성이 드러나지는 않습니다[2]. 제가 이해하기로는 LLM이나 소위 AI가 잘 한다고 알려진 task도 대부분 이러한 것입니다. 번역이라든지, 텍스트 포맷을 바꾼다든지 등등. 제 주변에 LLM 잘 활용하신다는 분들을 보면 아마도 대부분 그렇게 쓰시는 것 같고요.
여기서 UX 관점에서의 불평을 하고 싶은데요, 무조건적인 텍스트 생성이 아니라 주어진 입력을 변환하는 능력이 LLM의 핵심 가치라면 모델이나 서비스 입장에서 그런 기능만 제공하고 지나친 생성을 제한하는 UI나 기술 장치를 도입해야 하지 않을까요? LLM을 긍정적으로 생각하지만 전반적인 생성(특히 입력보다 출력이 더 자유도가 높을 경우)이 사회적으로 위험하다고 생각된다면 그러한 조치를 LLM 서비스 제공자들에게 요구할 수는 없을까요? 저는 이러한 방향의 논의를 거의 본 적이 없는데, 아마 LLM를 접해본 사람들은 긍정적이든 부정적이든 그런 인터페이스가 어쩔 수 없는 일이라고 가정하고 있어서 그런 것 같습니다. (마침 며칠 전부터 ChatGPT나 Gemini에 번역 전용 UI가 생겼다는 소식이 보이고 있습니다. 이 글을 조금 더 빨리 쓸 걸 그랬네요..)
프로그래밍 쪽에서도 비슷하게 코드를 생성하는 사용법보다는 코드를 읽고 정보를 추출해주는 쪽이 저작권이나 윤리 문제가 적고 프로그래머의 능력 향상에 도움이 되지 않을거라고 생각하고요. (제가 상상하는 최적의 코딩 AI agent는 Rubber duck에 가까운데, 모든 질문과 해답이 제 머릿속에서 나와야 한다고 생각합니다. 그 중 문제 해결이나 능력 향상에 명백히 도움 안 될 질문만 잘 쳐내주면 좋겠어요.)
cf: 최근 Moral Codes를 조금씩 읽고 있습니다. 프로그래밍과 UI와 LLM과 윤리에 대한 책입니다. 아직 전부를 차근차근 읽은 건 아니지만, 기존의 LLM 논의가 갖혀있던 프레임에 빠져나오는 데에 큰 도움이 될 수 있다고 보여서 이 주제에 관심이 있는 분들에게 추천합니다. Open access라 무료로 볼 수 있어요.
Generative AI in Servo에서 제시하는 potential exceptions가 제 분야와 정확하게 겹칩니다. ↩︎
현실적으로는 학습 데이터 오류 등으로 입력에 없던 내용이 튀어나오는 문제가 있습니다. Hallucination이라는 용어가 LLM 논의할때 주로 나오지만 실제로는 번역 task 연구 논문에서 처음 제시된 용어이고 해당 분야에서 이 문제는 오랫동안 중요하게 인지되어 왔습니다. ↩︎
생성 AI 논의에 대해 두서없이 몇 가지
오랫동안 머신러닝 딥러닝 AI 모델링을 업으로 삼아 왔지만 정작 LLM이나 이미지 생성 같은 생성쪽은 피해다니다 보니[1] 이쪽 주제에 대해 아는 척 하기도 쉽지 않지만.. 관련 논의들 구경하다 보면 제가 평소 생각하는 중요 지점들이 잘 이야기되지 않는 것 같아 의식의 흐름을 따라 이것저것 남겨봅니다.
우선 모델이 생성한 결과물이 어떤 성격이나 맥락을 가지는지에 따라 저작권 문제가 완전히 달라지는데, 이건 원래 저작권에 대한 전반적인 성격이 그러하기 때문입니다. 기존 저작물을 복사/변형하더라도 그 목적이 원래 저작물과 판이하게 다를수록 저작권 침해가 아니라 fair use로 인정받을 가능성이 높아집니다.
맥락과 의도가 얼마나 중요한지를 보여주는 상징적인 사례가 구글 북스 소송인데, 구글 북스는 저작권이 있는 책을 사용자들에게 그대로 보여주니까 심각한 저작권 침해로 보일 수 있지만, 법정에서는 구글 북스 웹사이트가 원래 책 내용을 그대로 접근하는 목적을 막고 검색이라는 새로운 목적에만 사용가능하도록 했다고 판단했습니다.
이러한 다양한 사례 연구들이 Foundation Models and Fair Use에 나와 있습니다. 이 논문은 AI 연구자들과 법학 연구자가 같이 썼고 여러 legal edge case가 등장해서 생각을 정리하는 데에 도움이 될 수 있습니다.
Fair use의 핵심 요소인 transformative에 대해 AI모델 입장에서 보면, 사용자가 준 입력 텍스트에 있는 정보를 추출하거나 변환하는 task가 이에 해당할 가능성이 높습니다. 가장 유명한 예시가 텍스트 번역일 것 같은데, 사용자가 입력한 텍스트를 다른 언어로 바꾸는 것이 전부고 거기에 새로운 창작성이 드러나지는 않습니다[2]. 제가 이해하기로는 LLM이나 소위 AI가 잘 한다고 알려진 task도 대부분 이러한 것입니다. 번역이라든지, 텍스트 포맷을 바꾼다든지 등등. 제 주변에 LLM 잘 활용하신다는 분들을 보면 아마도 대부분 그렇게 쓰시는 것 같고요.
여기서 UX 관점에서의 불평을 하고 싶은데요, 무조건적인 텍스트 생성이 아니라 주어진 입력을 변환하는 능력이 LLM의 핵심 가치라면 모델이나 서비스 입장에서 그런 기능만 제공하고 지나친 생성을 제한하는 UI나 기술 장치를 도입해야 하지 않을까요? LLM을 긍정적으로 생각하지만 전반적인 생성(특히 입력보다 출력이 더 자유도가 높을 경우)이 사회적으로 위험하다고 생각된다면 그러한 조치를 LLM 서비스 제공자들에게 요구할 수는 없을까요? 저는 이러한 방향의 논의를 거의 본 적이 없는데, 아마 LLM를 접해본 사람들은 긍정적이든 부정적이든 그런 인터페이스가 어쩔 수 없는 일이라고 가정하고 있어서 그런 것 같습니다. (마침 며칠 전부터 ChatGPT나 Gemini에 번역 전용 UI가 생겼다는 소식이 보이고 있습니다. 이 글을 조금 더 빨리 쓸 걸 그랬네요..)
프로그래밍 쪽에서도 비슷하게 코드를 생성하는 사용법보다는 코드를 읽고 정보를 추출해주는 쪽이 저작권이나 윤리 문제가 적고 프로그래머의 능력 향상에 도움이 되지 않을거라고 생각하고요. (제가 상상하는 최적의 코딩 AI agent는 Rubber duck에 가까운데, 모든 질문과 해답이 제 머릿속에서 나와야 한다고 생각합니다. 그 중 문제 해결이나 능력 향상에 명백히 도움 안 될 질문만 잘 쳐내주면 좋겠어요.)
cf: 최근 Moral Codes를 조금씩 읽고 있습니다. 프로그래밍과 UI와 LLM과 윤리에 대한 책입니다. 아직 전부를 차근차근 읽은 건 아니지만, 기존의 LLM 논의가 갖혀있던 프레임에 빠져나오는 데에 큰 도움이 될 수 있다고 보여서 이 주제에 관심이 있는 분들에게 추천합니다. Open access라 무료로 볼 수 있어요.
Generative AI in Servo에서 제시하는 potential exceptions가 제 분야와 정확하게 겹칩니다. ↩︎
현실적으로는 학습 데이터 오류 등으로 입력에 없던 내용이 튀어나오는 문제가 있습니다. Hallucination이라는 용어가 LLM 논의할때 주로 나오지만 실제로는 번역 task 연구 논문에서 처음 제시된 용어이고 해당 분야에서 이 문제는 오랫동안 중요하게 인지되어 왔습니다. ↩︎
I hate whatever automation YouTube has for moderating their comment sections.
I'll occasionally post some really long reply, or I should say try to, and have it show up for me but not actually show up when I look at the same video while logged out. This happened earlier today. Someone had replied to one of my comments asking me something, and I answered them. You cannot see this, last time I checked, because YouTube's automod caught it for who even knows what reason.
So, there went like five to ten minutes of typing for nothing. It was about Linux, under a video about Linux, if you're wondering.
Why they apparently don't want any actual discussion to happen on their platform is beyond me.
#rant and a question
I don't understand why so many books use completely unhelpful headings on each page?
E.g. I'm just reading #bellhooks "the will to change" (which is a good book i can recommend)
On even pages the heading is the title, on our pages the heading is the author.
This is completely helpful and really bad #UX
I know which book I'm reading and usually also the author (and during reading both is actually mostly irrelevant).
I would rather have the section or chapter information on the heading.
Why are these headings so common in books? Is this a convention or has a reason i don't see?
I just observed this in the Github repo and on the forums of a reasonably popular open source software. I am not going to name the software at this time because the pattern described is not unique to it.
A person has a question about a particular issue, and does what is often recommended to do, or observed, when people have an issue with OSS software. They ask on the relevant Github repo.
The response: please use our forums, this is for bug reports only.
So the person goes to the forums and asks the same question.
Response: fill out the help request template, it’s in our forum rules.
Person replies with more (and sufficient) relevant information.
Response: you didn’t fill out the help request template. It’s against the forum rules to not use the help request template. Thread closed.
The help request template: Describe your problem. Add error messages or log output. Name the version you’re using. Describe how you installed the software. Provide the complete config file. Link relevant resources you’ve used.
🤦
Most of this template was completely irrelevant to the question the person had. But the forum rules state that if you don’t completely fill out the template, you can’t expect to be helped.
If you do this, FUCK YOU. This is gatekeeping of the worst order. The user may be unfamiliar with your software, Github, your forum system, and what you’re doing is the equivalent of spitting in their face and slamming the door on them because they didn’t intuitively know the secret door code. And now you’ve likely not only put them off using your software, but also from seeking help with other OSS projects in the future. In other words, you’ve left a lasting - and detrimental - impression of OSS. Congratulations.
I get it, you get a lot of requests for help and you don’t want people to waste your time. So you cook up these templates to make people give you all the relevant information upfront. But the thing is: sometimes someone really just has a question, and making them provide all this information is not only unnecessary friction, but makes you no more able to help them than you were without it. You're raising the barrier to entry without tangible benefit.
Yes, you’re a volunteer. You’re doing this in your own time, for free. You get a lot of the same requests. News flash: that’s the nature of the game. You want people to spoon-feed you so you can avoid repeatedly spoon-feeding them - but the difference is, you know (or should know) how to spoon-feed people; they may not. And it’s always better to help and provide gentle guidance for future behaviour, than to… not.
Do better, so they can do better.
I think I just give up configuring Nginx and just stay with Nginx Proxy Manager. That would mean I can't configure everything through files but at least it works.
I have now spent 2 days trying to get Nginx to work and I managed to reverse proxy to my selfhosted services with valid SSL certificates created with a DNS challenge but when I try to access my services via the configured URL I get an "/desktop#/" appended to it and half the apps don't like that and won't work with that.
I wish I could use Caddy but the way modules are installed for it is so unnecessarily convoluted IMO compared to Nginx plugins which you can just install with your package manager instead of having to build it with the modules included for yourself (or creating your own Docker image) which makes maintaining it a PITA (and I need a module for Caddy because I need DNS challenge for SSL certificates because I don't want to open any ports on my server).
Rant over I think
#selfhosting #nginx #caddy #reverseproxy #rant #nginxproxymanager #dnschallenge
I think I just give up configuring Nginx and just stay with Nginx Proxy Manager. That would mean I can't configure everything through files but at least it works.
I have now spent 2 days trying to get Nginx to work and I managed to reverse proxy to my selfhosted services with valid SSL certificates created with a DNS challenge but when I try to access my services via the configured URL I get an "/desktop#/" appended to it and half the apps don't like that and won't work with that.
I wish I could use Caddy but the way modules are installed for it is so unnecessarily convoluted IMO compared to Nginx plugins which you can just install with your package manager instead of having to build it with the modules included for yourself (or creating your own Docker image) which makes maintaining it a PITA (and I need a module for Caddy because I need DNS challenge for SSL certificates because I don't want to open any ports on my server).
Rant over I think
#selfhosting #nginx #caddy #reverseproxy #rant #nginxproxymanager #dnschallenge
This post might seem like it's about #brightspace (the #lms the #suny system is forcing us all to use), but it's actually about having bosses who hold you in such contempt that they can't even be bothered to explain why they paid millions of dollars for a product that doesn't work while telling you to use it or else.
Today's Brightspace issue: hundreds of questions with images (trapped within BS's little walled garden of impenetrable database locations) that appear only as placeholders, but might or might not render when placed into a student quiz. The odds seem so far to be about 50/50.
There is no way to know which items are affected *even when I edit each of the hundreds of items by hand*, because I see this placeholder for MOST of the questions but then the students sometimes see the image. Sometimes not.
It's silent failure. No flags, no checks, no indications of what's wrong. No way to know if any changes will fix things.
Other silent failures: BS will cheerfully tell you it has imported your 5,000 or so items (painstakingly created over the past decade) from your previous LMS--which was also mandated--and then just *won't tell you* that hundreds or thousands of them did not import because BS simply choked and pooped or because BS doesn't even have the functionality to use those question types.
I fucking hate this LMS, but I really hate the fact that the people in charge think so little of me and 30,000 of my colleagues that they shove shit like this at us and tell us to pretend it works.
#professor #rant #highered #broken #shittydesign #baddesign #badsoftware #capturedmarket
ah yes… being incompatible crap that can't use system installed versions because it breakes everything on each release and requires you to fix your build on particular version and stick to it… and install it each time is such a brilliant idea!
Especially in the current day and age, when something constantly breaks (aws, cloudflare…)
all hail fucking #gradle !
And yet #maven #mvn nicely trots along, upgrading in the background and I don't even have to think if it updated or not (save for the upcomming #maven 4 release, but it's like "one in a generation" kind of thing…)
ah yes… being incompatible crap that can't use system installed versions because it breakes everything on each release and requires you to fix your build on particular version and stick to it… and install it each time is such a brilliant idea!
Especially in the current day and age, when something constantly breaks (aws, cloudflare…)
all hail fucking #gradle !
And yet #maven #mvn nicely trots along, upgrading in the background and I don't even have to think if it updated or not (save for the upcomming #maven 4 release, but it's like "one in a generation" kind of thing…)
Monday morning: Xcode.
I've set it to remove trailing white space, because it's ugly. It does, most of the time.
But I've hit return to have extra like, indented as expected, but after save I moved cursor and shows me expectedly no white space on that empty line.
What unexpected is that git diff does not agree and show a line having indentation.
Does it have to be so damn hard? You could simply remove the space on save and force me hit tab if I want indentation, geez
#rant #Linux
Ok ok ZorinOS est super populaire en ce moment. Mais y'a quand même des trucs qui me font tiquer avec ce projet.
La version "Core" est gratuite, la version "Pro" payante. Y'a quoi dans la version Pro ?
- des thèmes (mmm.. faire payer des thèmes ?)
- "$5000 of Professional-grade creative suite of apps". Lequels ? La liste n'est pas donnée.
(suite)
Hey all y'all need to stop using "guys" in mixed company.
- My trans girlfriend is not a guy.
- My cis girlfriend is not a guy.
- I'm not a guy (or a girl, but that's not relevant here).
Misgendering is misgendering—even if "everyone's doing it".
Patriarchy shouldn't be the default.
Oigo a un ministro o similar diciendo que los madrileños tenemos que reaccionar ante el desmantelamiento de la sanidad pública y el escándalo del hospital de Torrejón. Quiten la ley mordaza, la presunción de veracidad de la policia y su infiltración fascista, los policías infiltrados en movimientos sociales y provocando disturbios en las manifestaciones, las multas disuasorias por chorradas. Verá como entonces si que reaccionamos. Claro que igual esa reacción no mola tanto. #rant
Oigo a un ministro o similar diciendo que los madrileños tenemos que reaccionar ante el desmantelamiento de la sanidad pública y el escándalo del hospital de Torrejón. Quiten la ley mordaza, la presunción de veracidad de la policia y su infiltración fascista, los policías infiltrados en movimientos sociales y provocando disturbios en las manifestaciones, las multas disuasorias por chorradas. Verá como entonces si que reaccionamos. Claro que igual esa reacción no mola tanto. #rant