본문 바로가기

AI/LLM

(5)
LLM Fine Tuning & Catastrophic Forgetting 다중언어 학습 (Multilingual Training)최근 Llama 3.1 모델이 새로 나왔다. 그리고 그 성능에 한동안 한참 이슈가 되었다. 성능 향상이 꽤나 크다는 것이었다. 그리고 여태까지 이런 식으로 새로운 모델이 등장할 때 마다 항상 이루어지던 일이 있다.참조 : Open Ko-LLM LeaderBoard우리나라에서도 열심히 세계 트렌드를 따라가기 위해 새로운 모델이 나오면 한국어로 튜닝해서 이런 곳에 올리며 성능을 경쟁한다. 이만큼 잘 튜닝할 수 있다는 걸 과시하는 것이기도 하지만, 어쨌건 점수 경쟁에서 순위가 높게 나오려면 기본 모델부터 성능이 받쳐줘야 한다. 따라서 좋은 모델이 나왔다고 하면 너도나도 한번씩 써보려고 한다. 그렇게 해서 좋은 모델이 확보되면 어쨌거나 기술력을 과시할 수 ..
OpenAI API 사용법 정리 (Python) OpenAI API 최근 업무 관련으로 OpenAI의 API 를 사용할 일이 있어 찾아보았는데, 홈페이지 인터페이스가 변경된 모양이라 좀 헤맸기에 이 김에 정리해 보았다. OpenAI API는 우리가 아는 ChatGPT 와 같은 대형 LLM 모델로부터 데이터를 생성할 때, 스크립트를 통해 자동화된 방법으로 데이터를 생성할 수 있도록 API를 제공한다. 이를 통해 ChatGPT를 이용한 서비스를 개발하거나 필요한 데이터를 대량으로 생성하는 등의 일을 할 수 있다. 최근에는 이미지, TTS 등 멀티 모달도 지원하는 것 같은데, 이 부분은 일단 스킵. OpenAI API 사이트 일단 로그인 (Sign Up)을 해야 한다. 처음 가입하면 일정 기간동안 사용할 수 있는 $18의 무료 크레딧을 제공한다. 개인적으론..
LLM Tuning - DPO (Direct Peference Optimization) LLM Tuning 최근의 언어 모델은 이미 학습이 된 Pre-trained model을 사용자의 취향과 목적에 맞춰 튜닝하는 쪽으로 진행되고 있다. 거기에 필요한 기술들은 굉장히 다양하므로 언제 한 번 정리할 생각인데, 일단 업무상 필요한 부분만 정리해 보려고 한다. LLM 튜닝의 목적에 따라서 Instruction Tuning과 AI Alignment로 분류할 수 있다. 전자는 모델의 기능을 확보하는 것으로, 어떠한 작업을 수행할 수 있도록 그 예시에 대한 데이터를 학습시키는 것이다. 후자는 AI 가 사용자가 선호하는 방식으로 결과를 출력하게 하는 것이다. 사실 그 두 가지는 경계가 모호한 면이 있고, 실제 데이터셋에서도 이 두가지가 명확하게 구분되지는 않는 것 같다. 다만 아래 설명할 DPO의 경우..
LLM Text Generation 및 Generation Parameters 트랜스포머? 이거? LLM에 대해 공부하는 사람들이 처음 마주하게 될 단어가 바로 트랜스포머가 아닌가 싶다. 요즘 LLM은 대부분 트랜스포머를 기반으로 한다. 물론 위에 있는 로봇은 아니지만... 물론 찾아보면, 저 로봇만큼이나 복잡한 모델이다. 초짜가 보고 이해하기는 쉽지 않다. 참 쉽죠잉? (참조 : Attention Is All You Need) 현대의 LLM 사태의 원흉이 바로 저 논문이라 할 수 있다. 저것도 설명하려면 구구절절히 설명할 게 많은데, 비전문가가 다 이해하는 건 어렵기도 하고 솔직히 불필요한 일이다. 우리가 OS 커널을 이해해야 윈도우를 쓸 수 있는 게 아닌것 처럼, 요즘의 LLM은 그냥 저걸 기본으로 깔고 있으니까. 아래는 초기 언어 모델의 원리이지만 지금의 언어 모델과 기본적인..
LLM Evaluation LLM Evaluation 일반적인 ML 문제에서는 보통 평가 목표가 분명하고 이를 수치화하는 이론이 명확한 경우가 많다. 일반적으로 학습하는 데이터는 입력 (X) 과 이에 대해 기대하는 결과값 (Y) 을 포함하며, 모델이 얼마나 정확히 Y를 예측해내는지로 모델의 성능을 평가할 수 있다. 일반적으로 이것이 어려워지는 경우는 결과값을 라벨링하기 어려운 경우로, 라벨링 비용 문제를 해결하기 위해 간접적인 방법으로 평가할 망정 평가 자체는 명확한 경우가 대부분이다. 따라서 라벨링이 된 데이터가 있다면 보통 이를 cross-validation 형태로 학습과 평가가 일관적으로 이루어질 수 있다. 하지만 LLM의 경우는 정답에 해당하는 결과값이 다양할 수 있으며, 따라서 성능을 평가하기 모호하다. 이는 추천 시스템..