본문 바로가기

전체 글69

[논문리뷰] What does BERT learn about the structure of language? 최근 언어 모델의 트렌드는 자기 회귀적인 사전 학습 목표를 통해 훈련된 GPT와 같은 생성형 모델에 대한 연구에 집중되어 있습니다. 그런데 GPT와 양대산맥을 이루고 있는 언어 모델이 또 하나 있었는데 바로 BERT입니다. BERT는 Bidirectional Encoder Representation from Transforemers의 앞 글자를 따 이름붙인 모델로 GPT와 같이 단방향이 아닌 양방향으로 텍스트를 학습합니다. 그래서 조금 색다른 학습 목표를 갖고 있는데 바로 문장 중간에 마스킹된 토큰이 원래 어떤 단어였는지를 예측하는 방식으로 학습되었습니다. BERT는 어텐션 메커니즘을 기반으로 하기 때문에 내재적으로 해석 가능성을 가집니다. 그래서 BERT가 등장한 이후 모델이 무엇을 학습하였는지에 대한.. 2023. 12. 15.
[논문리뷰] Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks RAG는 언어 모델의 할루시네이션을 줄이기 위한 기술로 널리 사용되고 있습니다. RAG의 풀네임은 Retrieval-Augmented Generation으로 리트리버로 생성 능력을 보완한 것으로 볼 수 있습니다. 언어 모델은 어떤 시퀀스가 주어졌을 때 그 다음에 나타날 토큰을 예측하는 방식으로 학습했기 때문에, 애초에 텍스트의 사실성을 고려하도록 훈련되진 않았습니다. 언어 모델은 그저 그럴듯한 문장을 완성하는 목표에만 집중할 뿐입니다. 다만 학습 데이터가 대부분 사실에 기반한 텍스트로 이루어졌기 때문에 대부분의 경우 사실에 가까운 결과가 출력되는 것이죠. 하지만 원래 훈련 목표는 이렇다 하더라도, 언어 모델의 출력이 실제 사실에 가까울수록 유용해지기 때문에, 할루시네이션 문제를 개선하기 위한 노력이 끊임.. 2023. 12. 9.
Gemini의 시대로 여러분을 초대합니다. 2017년 알파고를 출시하여 세상을 놀라게 한 구글은 바로 어제 2023년 12월 6일, 또다시 역사를 바꿀지도 모를 새로운 모델인 Gemini를 출시했습니다. 세계적인 초거대기업인 구글은 수많은 분야에서 이루어지는 연구의 최전선에 서있었지만, 인공지능에서 만큼은 OpenAI의 그림자를 지우기가 힘들었습니다. 구글의 연구가 미흡한 것은 아니었지만, GPT를 통해 대규모 언어 모델의 효용을 널리 알리고 빠르게 시장 저변을 넓혀나간 OpenAI의 행보를 따라잡기는 쉽지 않았습니다. 게다가 야심차게 내놓은 Bard도 번번히 기대에 미치지 못하는 성능으로 사람들은 다시 한 번 ChatGPT의 우월함을 깨닫곤 했습니다. 그러던 구글이 마침내 새로운 모델을 발표하였습니다. Gemini의 시대가 도래했다 누군가가 G.. 2023. 12. 7.
[논문리뷰] Contrastive Chain-of-Thought Prompting 아마 프롬프트 엔지니어링을 다룬 논문 중 가장 잘 알려진 건 Chain of Thought가 아닐까 싶습니다. 유명한 논문은 흔히 원래 제목이 자주 차용되곤 하는데 chain of thought도 마찬가지입니다. CoT도 기존의 연구에서 빌려온 개념인지는 잘 모르겠지만, 프롬프트 엔지니어링을 다룬 많은 논문이 X of thought라는 표현을 사용하는 것 같습니다. 이번에 리뷰할 논문인 Contrastive Chain-of-Thought Prompting도 마찬가지입니다. CoT는 few shot 프롬프트에 단순히 문제와 정답만을 제시하는 게 아니라, 정답에 이르는 사고 과정을 포함한 few shot example을 입력하는 방법입니다. 이를 통해 LLM이 학습하지 않은 새로운 태스크를 해결하는 능력이 .. 2023. 12. 1.
파이썬 가상 환경 분리하고 패키지 의존성 관리하기 개발 프로젝트를 팀 단위로 진행하다보면 사용하는 언어나 라이브러리 버전이 맞지 않아 문제가 생길 때가 종종 있습니다. 예를 들어 팀원 중 한 명이 작성한 코드가 상위 버전에서만 작동하는 기능이라 하위 버전의 라이브러리를 사용하는 다른 팀원은 실행할 수 없는 경우가 있습니다. 팀 프로젝트 뿐만 아니라 코드를 배포하는 단계에서도 버전 관리는 중요합니다. 개발 환경에서는 문제 없이 작동하는 코드가 배포된 환경에서는 버전 문제를 겪을 수도 있기 때문입니다. 이런 문제를 피하기 위해서 팀 프로젝트나 코드 배포에 익숙한 개발자들은 프로젝트마다 독립적인 환경을 구성하곤 합니다. 저도 기존에는 파이썬이나 라이브러리를 모두 컴퓨터에 글로벌하게 설치하여 별도의 가상환경 분리나 의존성 관리를 해주지 않았지만, 새롭게 프로젝.. 2023. 11. 24.
[논문리뷰] ReAct: Synergizing Reasoning and Acting in Language Models Chain-of-Thought에 이어 널리 알려진 프롬프트 조작법인 ReAct를 제안한 논문 ReAct: Synergizing Reasoning and Acting in Language Models를 읽고 정리해보았습니다. ReAct는 chain of thought과 같이 결론에 이르는 추론 과정을 활용하는 것에 더해 언어 모델이 태스크를 해결하는 과정에서 주어진 환경과 상호작용하는 행동에 대한 정보도 프롬프트 내에서 활용합니다. 언어 모델의 행동이라는 개념이 조금 생소하긴 한데, 논문을 읽으면서 저자가 의도하는 바를 어느 정도 잘 이해할 수 있게 되는 것 같습니다. 논문의 내용을 구체적으로 알아보며 ReAct는 어떤 연구인지 알아보겠습니다. 번역을 통해 오히려 이해가 어려워지거나, 원문의 표현을 사용하.. 2023. 11. 24.