금일은 LLM(대형 언어 모델, Large Language Model)의 마지막 회차로서 LLM 한계와 극복을 기반으로 더욱 더 진화하여 우리의 삶에 편리성과 다양함을 제공하고 사회 및 산업 전반에 다양한 기회를 창출할 수 있는 중요한 역할을 수행할 것으로 기대됩니다.
LLM/ChatGPT의 한계
LLM과 ChatGPT는 뛰어난 성능을 자랑하지만, 몇 가지 한계도 존재합니다. 정보 접근 제한, 토큰 제한, 환각 현상 등이 대표적입니다. 훈련 데이터에 기반하여 답변을 생성하기 때문에, 최신 정보나 훈련 데이터에 포함되지 않은 정보에 대한 접근이 제한적입니다. 예를 들어, 2023년에 훈련된 모델은 그 이후에 발생한 사건에 대한 정보를 제공할 수 없습니다. 또한, GPT는 버전이 계속 갱신될 때마다 계속 커지고 있지만, 입력 데이터의 길이에 제한이 있어 매우 긴 문서를 처리하는 데 어려움이 있습니다. 이는 모델의 메모리 사용량과 연관이 있습니다. 마지막으로, 환각(Hallucination)으로 가끔씩 존재하지 않는 정보를 생성하거나 잘못된 정보를 제공할 수 있습니다. 이는 모델이 학습한 데이터와 생성에 중점을 둔 Decoder 구조의 한계 때문입니다. 이러한 LLM과 ChatGPT의 한계를 극복하기 위한 연구가 활발하게 이루어졌고, COT와 ReAct가 등장하게 됩니다.
LLM/ChatGPT의 한계를 극복하기 위한 시도
생각의 사슬(COT, Chain-of-Thought Prompting)은 구글 연구원들이 개발한 방법으로, LLM의 추론 능력을 개선하기 위한 프롬프트 기술입니다. 복잡한 추론 문제를 단계별로 분해하여 해결함으로써, LLM의 추론 능력을 향상시킬 수 있습니다. 예를 들어, 복잡한 수학 문제를 풀 때 한 번에 전체 문제를 해결하려는 대신, 문제를 여러 단계로 나누어 각 단계를 순차적으로 해결하는 방식입니다. 이를 통해 모델은 단계별로 문제를 분석하고 해결할 수 있는 능력을 키울 수 있습니다. 예를 들어, “2차 방정식의 해를 구하라”는 문제를 COT 방식으로 해결하면, 먼저 방정식을 인식하고, 그다음에 판별식을 계산하고, 마지막으로 해를 구하는 단계를 거쳐 해결하게 됩니다. COT는 프롬프트 자체만을 사용하는 방법으로 모델 내부 지식만을 사용해 답을 생성하여 외부의 지식을 사용할 수 없다는 단점이 존재하며 추론 과정에서 환각과 오류 확산이 발생하는 큰 문제가 있습니다. 이러한 문제를 개선하는 방법으로 ReAct가 제안되었습니다.
ReAct는 COT와 작업을 수행하는 Action을 결합한 방법으로, LLM이 외부 소스에서 추가 정보를 얻어 답을 찾아갈 수 있도록 하는 프롬프트 방식입니다. 이는 LLM의 환각 문제와 추론 오류를 개선하는 데 도움을 줍니다. 예를 들어, 특정 질문에 대해 모델이 직접적으로 답을 생성하는 대신, 필요한 정보를 외부에서 검색하여 보다 정확한 답변을 제공하는 방식입니다. 예를 들어, “2024년 올림픽 개최지는 어디인가?“라는 질문에 대해, ReAct 방식은 먼저 모델이 알고 있는 정보로 답을 시도한 후, 인터넷 검색과 같은 외부 최신 정보를 얻어 답을 완성할 수 있습니다. 이 방법은 모델이 외부의 최신 정보에 접근할 수 있도록 하여, 더 정확하고 신뢰할 수 있는 답변을 제공합니다. 이러한 방법이 LangCahin과 RAG(Retrieval-Augmented Generation, 검색 증강 생성)로 이어졌습니다.
LangChain과 RAG
LangChain은 LLM으로 구동되는 애플리케이션을 개발하기 위한 프레임워크입니다. 이는 LLM의 본질적인 한계인 환각을 해결하여 보다 효율적이고 효과적인 사용을 가능하게 합니다. LangChain을 사용하면 고품질의 외부 정보에 접근하고 그로부터 정확한 추론을 할 수 있습니다. 이는 복잡한 데이터베이스 쿼리를 처리하거나 다양한 외부 API와 상호 작용하여 실시간 정보를 검색하는 데 특히 유용합니다. 결과적으로 LLM은 더 풍부하고 정확한 데이터를 사용하여 더 광범위한 문제를 해결할 수 있습니다.
LangChain을 활용하는 구현하는 기술 중 하나는 검색 증강 생성(RAG) 입니다. RAG(Retrieval Augmented Generation)는 특정 쿼리에 대해 보다 정확하고 상황에 맞게 풍부한 정보를 제공하여 LLM의 기능을 확장합니다. 모델의 초기 학습에 포함되지 않은 관련 외부 데이터를 검색하고 이를 사용하여 보다 정확한 응답을 생성합니다. 이 접근 방식은 환각을 최소화하고 모델이 최신 정보를 반영하고 더 광범위한 지식 기반을 활용할 수 있도록 보장합니다. LangChain에서 RAG를 구현하려면 원본 문서에서 텍스트를 추출하고, 관리 가능한 단위로 문서를 분할합니다. 이러한 문서를 벡터화(텍스트 데이터를 수치화) 하는 임베딩 과정을 거쳐 벡터 저장소에 저장하고 사용자의 질문 유사한 텍스트를 검색하여 답변을 생성하는 일련의 단계가 필요합니다. 벡터 저장소에서 질문한 내용과 유사한 대상문서에 대한 정확한 검색이 매우 중요하며, 저장된 지식에 대한 지속적 변화관리가 이루어져야 합니다. 이 프로세스를 통해 모델에서 사용되는 정보가 관련성이 있고 최신인지 확인하여 생성된 응답의 전반적인 정확성과 신뢰성이 향상됩니다.
가성비 좋은 LLM 생성 방법 PEFT
LLM 모델에 새로운 정보를 제공하는 가장 확실한 방법은 필요한 데이터를 확보해서 모델을 직접 학습시키는 것입니다. 그러나 OpenAI의 GPT-4와 같은 강력한 LLM을 생성하려면 방대한 데이터와 고성능의 컴퓨팅 자원이 요구되어 막대한 비용이 필요합니다. 1,750억 개의 매개변수를 포함하는 GPT-3와 같은 훈련 모델은 수억 달러의 비용이 발생하므로 일반 사용자나 기업이 이를 시도하기 어렵습니다. PEFT(Parameter Efficient Fine-Tuning)는 미세 조정에 필요한 매개변수 수를 줄여 비용을 크게 절감하는 방법을 제공합니다. PEFT는 매개변수의 작은 하위 집합만 조정하여 더 큰 모델과 유사한 성능을 달성하는 것입니다.
주목할 만한 PEFT 방법론에는 LoRA(Low Rank Adaptation) 및 양자화(Quantization)가 있습니다. LoRA는 선택 매개변수를 수정하고 대부분의 가중치를 변경하지 않고 유지하여 특정 작업을 미세 조정하므로 학습 비용과 리소스 사용이 줄어듭니다. 양자화는 더 낮은 정밀도 매개변수를 사용하여 모델의 크기와 계산 요구를 줄입니다. 최근 스마트폰에 LLM을 탑재하는 방향도 이러 방법론을 기반으로 합니다. PEFT 기술의 급속한 발전으로 LLM에 대한 접근이 대중화되어 소규모 조직과 개인이 엄청난 비용 없이 시도해 볼 수 있게 되었습니다.
LLM은 AI 및 NLP 기술의 발전을 주도하는 데 중추적인 역할을 합니다. Transformer 아키텍처를 기반으로 구축된 LLM은 문장 관계를 이해하고 새로운 텍스트를 생성하는 데 탁월합니다. OpenAI의 GPT 시리즈를 통해 LLM 개발을 크게 가속화 시켰습니다. COT 및 ReAct와 같은 시도는 LLM의 한계를 극복하기 위해 LangChain, RAG 및 PEFT와 같은 다양한 기술들을 개별적으로 발전(Basic RAG, Advanced RAG, Modular RAG) 하고, 서로 결합(RAG + sLLM, RAG + PEFT) 하여 LLM 활용을 더욱 진화 시키고 있습니다.
앞으로도 LLM의 지속적인 개발은 AI와 NLP의 혁신을 주도할 것입니다. 이러한 기술은 우리의 일상을 더욱 편리하고 풍요롭게 만들어주며, 다양한 산업 전반에 걸쳐 새로운 기회를 창출할 것입니다.
정보통신기술사 김석중
철도에서의 전파(무선)통신 (0) | 2024.07.04 |
---|---|
인공지능에서 사용하는 데이터베이스: Neural Database와 Vector DB (0) | 2024.06.27 |
LLM의 주요 개념과 진화 과정 (2/3회) (0) | 2024.06.25 |
LLM의 주요 개념과 진화 과정 (1/3회) (0) | 2024.06.24 |
정보통신기술사 합격방법 천기누설 (0) | 2024.06.21 |