22.12.05 GeekNews Weekly
1. GPT-3 에게 어린 시절의 일기를 입력한 뒤, 어린 나와 대화하기
- 와 진짜 내가 하고 싶었던 거를 누가 해줬다. 그동안의 일기 또는 나의 일상 기록을 입력해 과거의 나를 시뮬레이션한 채팅 봇과 대화해보기 글에서 인상적이었던 '더 넓은 학습 관점에서 눈에 띄는 것은, 기술이 정신건강에 이용이 될수 있다는 것' 과거는 늘 현재의 나에게 도움이 된다. 내가 어떤길을 걸어왔는지 그때 어떤 선택을 했었는지 분석을 할 줄 안다면 앞으로 선택에 도움이 될테니까 그리고 과거의 나를 이해하는데 도움도 된다. 얼마전 넷플릭스 시리즈 썸바디에서 자신이 만든 봇과 대화를 하는 여주인공이 나왔는데 정말 그렇게 될 수 있을지도...? 댓글에 블랙미러 시즌2의 Be Right Back추천을 보고 과거 블랙미러를 얼마나 좋아했는지ㅜㅜㅜ 다시 생각이 났고 영화 Her도 생각났다. 또 얼마전까진 stable diffusion기반의 이미지 생성 AI가 화제였는데 다시 텍스트 생성 AI라니 진짜 하루하루 업데이트가 빠르다. 무엇보다 생성모델이라는 점에서 내 첫 ml 프로젝트가 gan이었는데 뭔가 기분이 좋다
https://nwn.blogs.com/nwn/2022/11/michelle-huang-ai-art-gpt-diary-conversation.html
Artist Feeds Her Childhood Diary Into an AI Chatbot -- And Has a Moving Conversation With Her Younger Self
What you're looking at above is an excerpt from a moving conversation between tech artist Michelle Huang, and Michelle Huang as a young girl. "I trained an AI chatbot on my childhood journal entries - so that I could engage...
nwn.blogs.com
2. Open AI, 새로운 GPT-3 모델 text-davinci-003 공개
- 기존 InstructGPT 모델을 기반으로 구축
- 프롬프트 지시에 따라 글을 생성하는 모델 : "달 착륙을 6세 이하에게 몇 문장으로 설명하시오"
- 오늘부터 바로 사용가능하며, 기존의 가격과 동일 ($0.0200 / 1k 토큰)
- 002에 비해서 003은 다음이 개선 됨
- 더 높은 품질의 글을 생성
- 더 복잡한 명령을 처리 가능
- 더 긴 형식의 콘텐츠 생성이 가능해서 예전에는 어려웠던 작업이 수행가능해짐
- 주변에서 다들 이게 얼마나 궁금했는지 직접 실행해본 게 올라오곤 했다. 결과가 놀라워서 놀랐던 기억! 중요한 건 질문을 어떻게 하는가? 나도 해봐야지 ㅎㅎ
https://news.hada.io/topic?id=7916
Open AI, 새로운 GPT-3 모델 text-davinci-003 공개 | GeekNews
기존 InstructGPT 모델을 기반으로 구축프롬프트 지시에 따라 글을 생성하는 모델 : "달 착륙을 6세 이하에게 몇 문장으로 설명하시오"002에 비해서 003은 다음이 개선 됨더 높은 품질의 글을 생성더
news.hada.io
3. Stable Diffusion 2.0과 네거티브 프롬프트의 중요성
- 역시 ML은 어렵다. 재밌다가도 어렵다.
https://news.hada.io/topic?id=7931
Stable Diffusion 2.0과 네거티브 프롬프트의 중요성 | GeekNews
SD 2.0 출시 후 기존에 비해서 이미지 생성 품질이 나빠졌다는 평가가 있음아마도 새로운 텍스트 인코더인 OpenCLIP 때문기존의 프롬프트 해킹 방법은 통하지 않게 되었고, "네거티브 프롬프트"가
news.hada.io
4. Show GN: 회사 생활에 유용한 랜덤 도구 사이트
- 나도 이런거 만들어보고 싶다
Random.GG - Randomizer for Everything
Random.GG provides funny random games like Wheel of names, Random spinner, Random team generator.
www.random.gg
5. I/O는 더 이상 병목이 아니다
- 이해하고 싶다.
https://benhoyt.com/writings/io-is-no-longer-the-bottleneck/
I/O is no longer the bottleneck
I/O is no longer the bottleneck November 2022 When interviewing programmers, I often ask them to code a simple program to count word frequencies in a text file. It’s a good problem that tests a bunch of skills, and with some follow-up questions, allows y
benhoyt.com
⭐️ 6. Android의 Rust 도입의 현주소 ⭐️
- 마 이것이 러스트다. 깐깐하지만 에러는 친절하게 짚어주는 오베할아버지 같은 그
- 안드로이드 팀은 Android 11부터 Rust를 도입하기 시작
- Rust 코드의 비중은 점점 늘어나 최신 버전인 Android 13에서 새로 작성된 Rust 코드의 비중은 거의 C 언어에 근접
- 이 결과 메모리 취약점은 2019년 223개에서 2022년 85개로 크게 감소
- unsafe한 코드의 비율과 실제 발생하는 취약점 수를 비교해 보니 상관관계가 있는 것으로 드러남. 실제로 memory safe 언어를 사용하는 것이 취약점 감소에 도움이 되는 것으로 보고 있음.
- 현재까지 Rust로 작성된 코드에서 발생한 메모리 취약점은 0개
- https://security.googleblog.com/2022/12/memory-safe-languages-in-android-13.html
Memory Safe Languages in Android 13
Posted by Jeffrey Vander Stoep For more than a decade, memory safety vulnerabilities have consistently represented more than 65% of vulne...
security.googleblog.com
7. Postgres와 MySQL의 인덱스 머지 vs 컴포지트 인덱스 비교
- 일단 keep 부터 해둘게요.
- "컴포지트 인덱스가 인덱스 머지보다 10배 빠름
Postgres에서는 MySQL보다 그 차이가 더 큰데,
Postgres가 인덱스 머지가 들어가는 쿼리에 대해서 인덱스-온리 스캔을 지원하지 않기 때문" - SELECT count(*) FROM table WHERE int1000 = 1 AND int100 = 1 쿼리에 대해서
(int1000, int100) 컴포지트 인덱스를 만들거나, int1000/int100 에 대해서 개별 인덱스를 만들어서 머지 가능 - 1천만 레코드를 랜덤 생성한 후 테스트
- 컴포지트 인덱스 : 5ms
- 인덱스 머지 : MySQL은 30~40ms, Postgres는 30~90ms
- Postgres를 사용중이라면, 인덱스 머지 기능 사용에 유의할 것
- https://sirupsen.com/index-merges
Index Merges vs Composite Indexes in Postgres and MySQL
Index Merges vs Composite Indexes in Postgres and MySQL Nov 2022 Composite indexes aka multi-column indexes are about 10x faster than index merges. In Postgres, the gap is larger than in MySQL because Postgres doesn't support index-only scans for queries t
sirupsen.com
8. TypeScript 4.9 릴리즈
- 타입스크립트 잘하고 싶다.
https://medium.com/@yujso66/%EB%B2%88%EC%97%AD-typescript-4-9-73f94ec1ce9c
[번역] TypeScript 4.9
원문: https://devblogs.microsoft.com/typescript/announcing-typescript-4-9/
medium.com
- satisfies 연산자
- in 연산자를 사용한 목록에 없는 프로퍼티 좁히기
- 클래스의 자동 접근자
- NaN에 대한 동등성 검사
- 파일 감시는 이제 파일 시스템 이벤트를 사용합니다.
- 에디터용 “Remove Unused Imports” 및 “Sort Imports” 명령어 추가
- return 키워드에 대한 정의한 부분으로 이동 기능
- 성능 개선
- 정확 수정 및 브레이킹 체인지
9. 개발자로 살아남는 "진짜" 방법
- 첫 번째, 기술적 상상을 하자. 개발이라는 영역은 넓은 시야에서 이야기하면 결국 ‘문제 해결 능력’이라 생각한다. 여기서 말하는 ‘문제’는 ‘Problem’을 말할 수도 있지만 ‘Specification’도 될 수 있다
- 두 번째, 나를 위해 기록하자. 그렇기에 본인에게 주어진 문제가 무엇이고 어떤 시행착오를 겪다 결국 어떤 방법으로 문제를 해결했는지에 대해 정리를 하면서 몰랐던 혹은 얕게만 알고 있었던 지식을 다시 한번 정립할 수 있는 좋은 공부의 기회가 되기 때문이다.
- 세 번째, 밖으로 나가자.
개발자로 살아남는 "진짜" 방법
개발자로 살아가는 이들의 공통된 목표는 당연히 ‘개발을 잘하고 싶다’ 일 것이다. 어떠한 문제 혹은 버그를 만났을 때 자신의 개발 실력으로 전문가처럼 손쉽게 해결하거나, 코딩 테스트의
f-lab.kr
습관을 유지한다는 건 정말 어렵다. 더불어 나에게 없던 습관을 만들면서까지 유지하는 것은 더욱더 어려울 수 있다. 그렇지만 이런 습관들을 만들기 위해 작은 것부터 시도해나간다면 당장의 드라마틱한 큰 성장의 효과는 없을지라도 보다 더 높은 곳으로 도약할 수 있는 굳은살 정도는 만들 수 있지 않을까 생각을 해본다. 그러한 굳은살이 하나 둘 쌓여 시간이 지나고 보면 훌쩍 성장해 있는 본인을 만날 수 있길 바라본다.
- 나... 잘 하고 있네...