요즘 들어서 가장 뜨거운 감자라고 부를만한 것은 단연코 'ChatGPT'라고 생각한다. 정말이지, ChatGPT의 출현은 온 사회를 뒤집어놓을 만큼 큰 파장을 불러일으켰다. 이전까지 아쉬웠던 성능을 개선하고 민간인에게 처음으로 공개된 LM으로써 사회의 이목을 끌어당기기에는 충분했다. 그리고 성능은 놀라울 정도였으니 말이다. 🔥 필자도 여러 번 질문도 던져보고 시시콜콜한 이야기도 해보았는데, 정말이지 대단하다는 생각이 많이 들었다. 하지만, 언제나 그렇듯 엄청난 기술의 발전과 출현은 어두운 면도 함께 오게 된다. 나온지 얼마 되지 않았지만, 벌써 이 ChatGPT를 악용하는 사례들이 속속들이 드러나고 있다. 예를 들어, 대학교 과제를 제출할 때, ChatGPT의 힘을 빌려 대신 과제물을 작성하게 한다든가 ..
WebGPT: 웹 브라우징을 통한 LM의 Factual Accuracy 향상 GPT-3를 fine-tune 하여 text 기반의 웹브라우저를 사용하여 open-ended 질문을 더욱 정확하게 답하도록 하였다. WebGPT의 프로토타입은 사람이 온라인에서 질문에 대한 답변을 조사하는 방법을 복사하였다. 여기에는 검색 쿼리 제출 및 링크 따라가기, 웹 페이지 위아래로 스크롤과 같은 행동을 포함하고 있다. WebGPT는 정보의 출처를 밝히기 위해 학습되었는데, 이 출처는 factual accuracy를 향상시키기 위한 좋은 피드백을 쉽게 제공해줄 수 있게 만든다. 이와 같은 과정을 통해 더욱 정직한 AI를 만들 수 있을 것이라 생각했지만, 친숙하지 않은 유형의 질문을 복사해오는 문제 같은 문제들이 남아있다. ..
요즘에 매우 화제가 되고 있는 주제가 하나 있다. 아마도 많은 분들이 해보셨을거라 믿는데, 바로 'ChatGPT'이다. 필자도 처음에 공개됐을 때 호기심을 갖고, 몇 가지 질문들을 던지거나 시시콜콜한 이야기들을 했던 경험이 있다. 처음에는 그저 감탄 밖에 나오지 않았다. 정말이지 너무나도 놀라운 정확도와 전혀 기계라고 생각되지 않는 대화의 매끄러움 때문이었다. 물론, 아직 부족한 점들도 많았던 것은 사실이지만, 그런 점을 포함하고라도 정말이지 엄청난 발전이라고 말할 수 있었다. 처음에는 그저 감탄만 했을 뿐인데, 시간이 지나면서 과연 이 ChatGPT는 어떻게 만들어진 걸까? 라는 의구심을 품게 되었다. 그래서 OpenAI에서 ChatGPT에 대해 설명을 적어놓은 글을 발견하고, 이 글을 자세히 읽어보았..
Language Model$($LM$)$은 지난 몇 년 동안 사람의 입력을 통해 다양하고 그럴 듯한 text를 생성해내면서 강렬한 인상을 남겼다. 하지만, 어떤 점이 이렇게 좋은 text를 출력할 수 있게 하는지는 자세히 정의할 수 없었다. 왜냐하면 LM이 subjective하고 context dependent하기 때문이다. 이 LM을 응용한 사례는 정말 많은데, 창의성을 필요로 하는 소설 쓰기, 진실성을 필요로 하는 정보 전달, 실행 가능한 코드 생성과 같은 예들이 있다. 손실함수를 작성해서 이러한 특성들을 끄집어내는 건 매우 어려워 보이고, 많은 LM들은 아직도 매우 간단한 next token prediction loss를 통하여 학습되고 있다. 이러한 단점을 보완하기 위해, 사람들은 사람의 선호를 ..
저번 포스트에 이어서 Chain-of-Thought$($CoT$)$에 관한 논문을 읽고 리뷰해 보았다. $($이전 포스트 참고!!$)$ LM에게 인간처럼 step-by-step으로 reasoning을 할 수 있도록 만들어준 개념으로 상당히 신기하였다. 이를 통해 resoning task에서 뛰어난 성능을 보여주긴 했지만, 아직 각각의 task에 대해서 사람이 특별하게 제작한 example을 추가적으로 주어야 한다는 점에서 아쉬움을 갖고 있었다. 한 마디로, 아직 Few-shot-CoT에 불과했다는 점이다. 이러한 Few-shot-CoT를 Zero-shot-CoT로 탈바꿈시킨 논문이 바로 'Large Language Models are Zero-Shot Reasoners'인 것이다!! 어떻게 CoT를 ze..
이 코스는 Hugging Face에서 운영하는 코스로, NLP 분야에서 사용되는 Transformer에 대해 학습하고, 직접 Hugging Face 라이브러리를 사용하여 구현해볼 수 있다. 이에 대해 학습하고 정리한 내용들과 코드들은 github에 앞으로 하나하나씩 업로드할 예정이다. 관심이 있는 분들을 제 github를 참고해주실 바랍니다!! Hugging Face Course: https://huggingface.co/course/chapter1/1?fw=pt Introduction - Hugging Face Course 2. Using 🤗 Transformers 3. Fine-tuning a pretrained model 4. Sharing models and tokenizers 5. The 🤗 D..
이 포스트는 PaLM을 리뷰하면서 PaLM에 사용되었던 개념인 Chain-of-Thought에 대해 관심이 생겨서 작성되었다. Chain-of-Thought는 새롭게 생겨난 개념이 아니라, 원래부터 존재하던 개념인데, 쉽게 말하면 사람의 생각 과정을 생각하면 된다. 예를 들어, 수학 문제를 풀 때, 문제를 보고 모든 계산을 한 번에 쫘라락!!.. 하면 사람이 아니겠죠..! 그렇습니다, 사람은 수학 문제를 맞닥뜨리면, 문제를 차근차근 읽어보고 어떤 과정을 통해 문제를 풀 지 계획을 세우게 됩니다. 따라서, 그 과정에 따라 하나하나씩의 소문제를 해결하여 대문제의 답을 내놓는다고 할 수 있죠. 이러한 방식을 Chain-of-Thought라고 한다. The overview of Chain-of-Thought 최..
저번 PaLM 리뷰 포스트에 이어서 두 번째 PaLM 리뷰 포스트입니다~! PaLM 리뷰 포스트$($1$)$을 보고 싶으시다면 여기를 참고해주시길 바랍니다!! 이번 포스트에서는 PaLM의 모델 구조에 대해 자세하게 다뤄보려고 합니다. 이 포스트는 PaLM을 소개한 논문인 'PaLM: Scaling Language Modeling with Pathways'를 참고하여 작성되었습니다. PaLM Architecture PaLM은 기존의 Transformer architecture에서 오직 decoder만을 사용하였다. $($각 시점에서 오직 자신과 이전의 시점들만 볼 수 있음$)$ 그리고 이에 조금의 수정을 하였다. SwiGLU 활성화 함수: PaLM에는 SwiGLU 활성화 함수 $(Swish(xW) \cdo..
구글은 혁신적인 성능을 보여줬던 언어 모델인 LaMDA를 발표하고 얼마 지나지 않아서, 바로 이를 능가해버리는 초거대 언어 모델인 PaLM을 공개하였다. 이번 포스트에서는 이 PaLM에 대해서 리뷰해보았고, 구글의 블로그를 참고하여 작성하였다. $($논문이 너무 길어서 읽기가 너무 힘드네요,, 😅$)$ PaLM에 대한 리뷰는 총 두 개의 포스트로 나눠서 진행하였습니다. 이 포스트인 첫 번째 포스트에서는 앞서 말한 것처럼 구글의 블로그를 참고하여 PaLM의 대략적인 설명과 실험 결과들에 대해 다뤘고, 두 번째 포스트에서는 PaLM의 모델 구조에 대해서 다뤄볼 예정입니다!! 많은 관심 부탁드립니다!! PaLM은 'Pathways Language Model'의 약자로, 이름에서부터 알 수 있듯이 구글에서 소개..
이 포스트의 제목을 보면은 '무슨 소리를 하는 거지?' 라는 생각이 들 것이다. 하지만 조금 더 깊게 생각해보자. 우리 인간은 어떤 문제를 접하거나 해결할 때, 하나 이상의 감각을 사용한다. 예를 들어서, 컵을 집는다는 상황이 생겼을 때, 먼저 시각으로 컵의 생김새와 컵의 위치를 확인하고, 촉감을 이용하여 컵의 생김새를 확인하고 집는다. 이와 같이, 한 가지 행동을 행할 때에도, 하나 이상의 감각을 사용한다. 하지만, 현재 개발되는 AI 모델들을 보면, 대부분이 오직 하나의 task에만 집중한 모델들만이 개발된다. 예를 들어서, text에 특화된 모델과 image에 특화된 모델이 있다고 해보자. 이 둘은 각각의 task에서는 훌륭한 성능을 보여주지만, 이 둘을 한꺼번에 처리하는 모델은 흔치 않다. 이러한..