세계 최대 벤처캐피탈(VC) 중 하나인 세쿼이아 캐피털이 공개한 보고서에 의하면 ChatGPT 열풍 이후, 기업의 LLM (거대 언어 모델) 도입률이 비약적으로 상승했다고 합니다. 세쿼이아 캐피털이 조사한 기업 중 새로운 LLM을 적용한 앱을 만든 기업의 비중이 불과 두 달 만에 15%에서 65%로 급등했다고 합니다. 대상 기업이 AI를 적용한 분야도 다양했습니다. 또한 대부분의 기업이 LLM을 자체 개발하기보다는 공개된 API를 사용하고 있다고 하죠.
생성 AI의 가능성이 주목받으면서 LLM에 대한 관심도 함께 커지고 있습니다. 이 글에서는 LLM에 대한 정의와 원리, 사용 사례와 구축 노하우에 대해 소개합니다.
LLM (Large Language Model) 이란 무엇인가?
정의
_datahunt.webp)
LM (언어 모델, Language Model) 이란, 인간의 언어를 이해하고 생성하도록 훈련된 일종의 인공지능 모델입니다. 주어진 언어 내에서 패턴이나 구조, 관계를 학습하여 텍스트 번역과 같은 좁은 AI 작업에서 주로 활용되었죠. 언어 모델의 품질은 크기나 훈련된 데이터의 양 및 다양성, 훈련 중에 사용된 학습 알고리즘의 복잡성에 따라 달라집니다.
그렇다면 LLM (거대 언어 모델, Large Language Model) 이란, 대용량의 언어 모델을 의미합니다. LLM은 딥 러닝 알고리즘과 통계 모델링을 통해 자연어 처리(Natural Language Processing, NLP) 작업을 수행하는 데에 사용합니다. 이 모델은 사전에 대규모의 언어 데이터를 학습하여 문장 구조나 문법, 의미 등을 이해하고 생성할 수 있습니다.
예를 들어, 주어진 문맥에서 다음 단어를 예측하는 문제에서 LLM은 문장 내의 단어들 사이의 유사성과 문맥을 파악하여 다음 단어를 생성할 수 있습니다. 이러한 작업은 기계 번역, 텍스트 요약, 자동 작문, 질문 응답 등 다양한 NLP 과제에 활용됩니다. LLM은 GPT(Generative Pre-trained Transformer)와 BERT(Bidirectional Encoder Representations from Transformers)와 같은 다양한 모델들이 있습니다. 이러한 모델들은 수천억 개의 매개변수를 가지고 있습니다. 최근에는 대용량의 훈련 데이터와 큰 모델 아키텍처를 사용하여 더욱 정교한 언어 이해와 생성을 달성하는데 주목을 받고 있습니다.
NLP vs. LLM
NLP와 LLM은 관련이 있는 개념이지만, 서로 다른 개념입니다.
NLP는 인간의 언어를 이해하고 처리하는 데 초점을 맞춘 인공지능 분야입니다. NLP는 컴퓨터가 자연어 텍스트를 이해하고 분석하는 기술을 개발하는 것을 목표로 합니다. NLP는 문장 구문 분석, 텍스트 분류, 기계 번역, 질의 응답 시스템, 감정 분석 등과 같은 다양한 작업에 활용됩니다.
반면 LLM은 큰 데이터셋을 사용하여 훈련된 대용량의 언어 모델을 가리킵니다. 딥 러닝 기술과 통계 모델링을 사용하여 자연어 처리 작업을 수행할 수 있죠.
즉, NLP는 자연어 처리 분야 전반을 아우르는 개념이며, 텍스트를 이해하고 처리하는 기술에 초점을 둡니다. LLM은 NLP의 한 부분으로, 대량의 언어 데이터를 바탕으로 학습된 언어 모델을 사용하여 특정 NLP 작업을 수행하는데 초점을 둡니다. NLP는 더 넓은 의미의 개념이며, LLM은 그 안에서 특정한 접근 방식과 모델을 가리키는 한 가지 형태입니다.
왜 LLM (Large Language Model) 이 중요할까?
거대 언어 모델의 산업 적용 가능성
대규모 언어 모델은 다양한 유형의 소통이 필요한 언어나 시나리오에 적합합니다. 이를 기반으로 산업과 전반에 AI가 활용되는 범위가 넓어졌고, 연구와 창의성과 생산성 분야에 새로운 지평을 가져다줄 것이라는 기대를 받고 있습니다. 아래에서는 LLM이 활용될 수 있는 많은 사례 중 일부를 소개합니다.
- 소매 업체와 기타 서비스 제공 업체는 LLM을 기반으로 챗봇, AI 비서 등으로 고객 서비스의 퀄리티를 높이고 있습니다.
- LLM을 적용한 검색 엔진은 보다 사람처럼 직접적인 응답을 제공할 수 있습니다.
- 생명과학 연구원은 단백질, 분자, DNA, RNA를 이해하기 위해 LLM을 훈련시킬 수 있습니다.
- LLM을 통해 개발자는 소프트웨어 코드를 작성하고, 로봇에게 물리적인 작업을 가르칠 수도 있습니다.
- 마케터는 LLM을 훈련시켜 고객의 피드백이나 요청을 클러스트화하고, 제품 설명에 따라 제품을 범주별로 세분화하기도 합니다.
- LLM을 사용해 수익 결산 (Earning call) 을 요약하고 중요한 회의를 기록할 수 있습니다. 또한 신용카드사는 이를 활용해 이상 징후를 감지하거나, 사기 가능성을 분석해서 소비자 보호에 앞장설 수 있습니다.
- 법적인 해석이나 서류 작성 등에 LLM의 도움을 받을 수 있습니다.
LLM 및 기초 모델이 비즈니스 환경에 미치는 영향
ChatGPT와 같은 LLM은 이제 튜링 테스트를 가뿐히 통과할 수 있을 정도로 자연스러워졌습니다. 이를 기반으로 위의 사례처럼 다양한 분야와 산업에서 LLM을 사용하고 있습니다. 그렇다면 실제로 LLM은 어떤 식으로 비즈니스 세계에 영향을 미치고 있을까요?
- 작업 자동화: LLM은 현재 사람이 수행하는 많은 작업을 자동화하는 데 사용할 수 있습니다. 직원들은 보다 전략적이고 창의적인 업무에 집중할 수 있습니다.
- 고객 서비스 개선: LLM을 사용하여 연중무휴 24시간 고객의 질문에 답변하고 문제를 해결할 수 있는 챗봇을 만들 수 있습니다.
- 창의적인 콘텐츠 생성: LLM은 창의적인 콘텐츠를 생성하는 데 사용할 수 있습니다.
- 더 나은 비즈니스 의사 결정: LLM은 데이터를 분석하고 미래 트렌드를 예측하는 데 사용할 수 있습니다. 이를 통해 기업은 제품, 마케팅, 투자에 대한 더 나은 의사 결정을 내릴 수 있습니다.
기초 모델(Foundation Model)이란, 매우 큰 데이터 세트에서 학습하는 다목적 ML 모델로, 교육이 완료되면 이러한 모델을 표준 소비자 등급 장비에서 사용합니다. 기초 모델은 비즈니스 운영의 상당 부분을 차지하는 것들을 수행할 수 있습니다. 예를 들면 이미지를 만들거나 코딩을 작성하는 것이죠. 이렇게 사전 학습된 모델은 특정 작업이나 용도에 맞게 사용할 수 있습니다.
이 모델은 적은 수의 변수와 제한된 기능을 갖추고 있습니다. 주로 초기 실험이나 컨셉 검증, 프로토 타입 단계에서 사용하고 있습니다. 기존의 기업들은 자체적으로 LLM을 구축 또는 ChatGPT를 활용하기 위해 많은 비용을 지불해야만 했습니다. 그러나 이제는 기초 모델을 통해 LLM의 초기 형태를 갖춘 뒤 비즈니스에 적용할 수 있게 되었습니다. 현재 오픈소스로 많은 기초 모델이 공개되었기 때문에, 기업은 목적에 맞는 모델을 구축하기 전에 비용과 절차를 간소화할 수 있었습니다.
LLM과 기초 모델은 단순히 일상적인 경험이나 환경을 디지털화하는 것이 아닙니다. 온라인에서 사용할 수 있는 거의 모든 지식을 가지고, 현실 세계의 문제를 효과적으로 해결할 수 있는 모델로 만드는 것이죠. 외부에 현실과 닮은 시뮬레이션을 만드는 것이 아니라, 인간 언어 자체의 살아있는 대화형 시뮬레이션을 생성했다고 보는 것이 더 가까울 것입니다. 도메인 지식을 훈련시킨 기초 모델을 기반으로 LLM을 구축하면, 기업 맞춤형 솔루션을 구축할 수 있게 된 것이죠.
Active Learning을 활용해 데이터가공 작업 속도 가속하기
LLM (거대 언어 모델) 작동 원리
언어 모델의 유형
언어 모델에 대한 연구는 현재에도 진행형입니다. 본격적으로 작동 원리에 대해 이해하기 전에, 개발 단계를 네 가지로 나눠 알아보겠습니다.
- SLM (Small Language Model): 제한된 양의 텍스트 데이터를 학습하여, 작업 전반에 걸쳐 국소적인 문맥을 이해하는 데에 초점을 맞춥니다. 작은 규모에도 불구하고, SLM은 가볍고 실행 속도도 빠른 특징을 가지고 있습니다.
- NLM (Neural Language Model): NLM은 기존의 통계 기반 언어 모델보다 더 정확한 성능을 제공합니다. 이러한 모델은 주로 단어 임베딩, 문장 완성, 기계 번역 등 다양한 NLP 작업에 사용됩니다.
- PLM (Pretrained Language Model): PLM은 대규모 데이터셋으로 미리 학습되며, 이후 다양한 NLP 작업에 전이학습(Transfer Learning)을 통해 적용됩니다. BERT와 GPT와 같은 주요 모델들은 이 PLM에 속합니다.
연구자들은 PLM을 확장하면 다운스트림 작업에서 모델 용량이 향상될 수 있다는 사실을 발견했습니다. 많은 연구에서 훨씬 더 큰 PLM을 훈련하면서 성능 한계를 탐색해보고자 했죠. 이러한 대형 PLM은 소형 PLM과는 다르게, 일련의 복잡한 작업을 해결할 때 놀라운 능력을 발휘한다는 점이 밝혀졌습니다. 예를 들어, GPT-3는 상황을 학습하여 단발성 과제를 해결할 수 있는 능력을 가졌지만 GPT-2는 그렇지 못했죠. 따라서 연구 커뮤니티에서는 이러한 대형 PLM을 두고 “대규모 언어 모델(LLM)”이라는 용어를 사용하기 시작했습니다. 즉, LLM은 언어 모델의 현주소이자 최종 개발 단계라고 할 수 있습니다.
LLM에서 자주 사용하는 용어
아래는 LLM을 다루는 문서 및 논문에서 자주 사용하는 단어의 정의입니다. 미리 알아두면 LLM에 대해 이해하는 데에 도움이 될 수 있습니다.
- 단어 임베딩: 단어들을 고차원 벡터로 표현하여 각 단어 간의 유사성과 관계를 캡처하는 기술
- 주의 메커니즘: 입력 시퀀스의 다양한 부분에 가중치를 부여하여 모델이 중요한 정보에게 집중할 수 있도록 하는 기술
- Transformer: 주의 메커니즘을 기반으로 한 인코더와 디코더 구조의 신경망 모델로, 길이가 다른 시퀀스를 처리하는 데 탁월한 성능
- Fine-tuning LLMs: 사전 학습된 대규모 언어 모델을 특정 작업에 적용하기 위해 추가 학습하는 과정
- Prompt engineering: 모델에 입력하는 질문이나 명령을 구조화하여 모델의 성능을 향상시키는 과정
- Bias (편향): 모델이 학습 데이터의 불균형이나 잘못된 패턴을 포착하여 실제 세계의 현실과 일치하지 않는 결과를 내놓는 경향
- 해석 가능성: LLM이 가진 복잡성을 극복하고 AI 시스템의 결과와 결정을 이해하고 설명할 수 있는 능력
LLM 작동 방식 및 원리
_datahunt.webp)
이제 본격적으로 LLM의 작동 원리에 대해 살펴보겠습니다. LLM이 언어를 학습하는 과정에는 딥 러닝의 원리가 활용됩니다. LLM은 딥 러닝의 방식으로 방대한 양을 사전 학습(Pre-trained)한 전이 학습 (Transfer) 모델이라고 할 수 있습니다.
LLM은 문장에서 가장 자연스러운 단어 시퀀스를 찾아내는 딥 러닝 모델입니다. 딥 러닝 기술을 사용하여, 문장에서 단어와 구문을 인식하고 이를 연관시켜 언어적 의미를 파악할 수 있죠. 이러한 과정에서, LLM은 문법 규칙이나 단어의 사전적 의미와 같은 구체적인 규칙은 따르지 않고, 빈도수나 문법적인 특성 등을 학습하여, 문맥상 올바르게 문장을 생성할 수 있습니다. 즉, 문장 속에서 이전 단어들이 주어지면 다음 단어를 예측하거나 주어진 단어들 사이에서 가운데 단어를 예측하는 방식으로 작동합니다.
이러한 인공 신경망 기반의 언어 모델들은 방대한 양의 데이터를 학습하여, 마치 인간처럼 자연스러운 문장을 생성할 수 있습니다. LLM을 학습시키는 방법은 대부분 큰 양의 텍스트 데이터를 기계학습 알고리즘에 입력하는 것입니다. 이때 일반적으로, 먼저 토큰화(tokenization)과 같은 전처리 과정을 거쳐 문자열 데이터를 분리한 다음, BERT, GPT, GPT-2, GPT-3, T5 등의 모델을 사용하여 학습합니다.
_datahunt.webp)
위 사진은 Google이 발표한 언어 모델 Transformer의 Decoder 부분만 사용하는 GPT 모델입니다. GPT는 기존 모델보다 더욱 세밀하게 사람의 의도를 이해할 뿐만 아니라, 적절한 답변을 내릴 수 있으며 사람처럼 말하는 법까지 알고 있습니다.
LLM 핵심 기술
오랜 시간동안 연구가 이어지면서 지금의 LLM이 될 수 있었습니다. 여러 중요한 기법들이 개발 과정에서 등장하면서 LLM의 역량이 크게 향상될 수 있었죠. 여기서는 LLM이 유능한 학습자가 될 수 있도록 하는 중요한 기술을 간략하게 소개합니다.
스케일링
확장(Scaling up)은 대규모 데이터셋과 컴퓨팅 리소스를 활용하여 언어 모델의 성능을 더욱 향상시키는 것을 의미합니다. 대규모 데이터셋을 사용하면 모델이 더 많은 언어 정보를 습득하고, 더 정확하게 예측할 수 있습니다. 대표적으로 LLM의 확장은 두 가지 방법이 있습니다. 첫째는 모델의 크기를 늘리는 방법으로 더 많은 계산 능력과 메모리를 필요로 합니다. 두번째는 데이터 증강(Data augmentation)을 통해 모델을 확장하는 방법입니다. 데이터 증강은 기존 데이터를 변형시켜 더 많은 데이터를 만드는 방법으로, 모델이 다양한 언어 패턴을 습득할 수 있도록 돕습니다.
LLM의 모델 확장은 다양한 NLP 작업에 적용할 수 있도록 성능을 향상시킬 수 있다는 장점이 있지만, 컴퓨팅 리소스와 계산 복잡도가 증가한다는 점에서 유의해야 합니다. 또한 사전 학습 데이터의 품질은 좋은 성능을 달성하는 데에 핵심적인 역할을 하므로, 사전 학습 코퍼스를 확장할 때 데이터 수집 및 정리 전략을 고려하는 것이 중요합니다.
학습
다양한 병렬 전략이 공동으로 활용되는 LLM의 네트워크 파라미터를 학습시키기 위해서는 분산 훈련 알고리즘이 필요합니다. 분산 학습을 지원하기 위해 DeepSpeed 및 Megatron-LM과 같은 병렬 알고리즘의 구현 및 배포를 용이하게 하는, 여러 최적화 프레임워크가 출시되었죠. 또한 훈련 손실 급증을 극복하기 위해 재시작 및 혼합 정밀도 훈련과 같은 최적화 트릭도 훈련 안정성과 모델 성능에 핵심적인 역할을 합니다. 최근에는 GPT-4에서 훨씬 작은 모델로 대규모 모델의 성능을 안정적으로 예측할 수 있는 특수 인프라와 최적화 방법이 개발 화두에 올라있습니다.
능력 도출
대규모 말뭉치에 대한 사전 학습을 마친 LLM은 다양한 작업을 수행할 수 있습니다. 하지만 LLM이 어디까지 할 수 있는지 명시적으로 알 수 있는 방법이 없기 때문에, 적절한 작업 지침이나 특정 상황에 맞는 학습 전략을 제시해야 합니다. 예를 들어, 연쇄적 사고 프롬프트는 중간 추론 단계를 포함함으로써 복잡한 추론 과제를 해결하는 데에 유용하다고 밝혀졌습니다. LLM에 대한 인스트럭션 튜닝을 수행하면, 보이지 않는 과제에 대한 LLM의 일반화 가능성을 향상시킬 수 있다는 연구 결과가 있었죠.
정렬 튜닝(Alignment Tuning)
Alignment tuning은 입력 문장과 레퍼런스 문장 간의 정렬 정보를 모델 학습에 이용하는 방법입니다. 기존의 Fine-tuning 방식은 입력 문장과 해당하는 레이블로 이루어진 데이터셋을 기반으로 모델을 학습시키는 반면, 정렬 튜닝은 입력 문장과 레퍼런스 문장 간의 정렬 정보도 함께 이용합니다. 정렬 튜닝은 fine-tuning 방식과 함께 사용할 수도 있습니다.
Alignment tuning은 언어 번역과 같은 작업에서 유용하게 활용할 수 있습니다. 예를 들어, "나는 사과를 먹는다"와 "I eat an apple"이라는 레퍼런스 문장이 있다고 가정해보겠습니다. 정렬 정보를 이용하여 "나는"과 "I", "사과를"과 "an apple"을 서로 매핑하여 입력 문장에서 적절한 위치에 배치할 수 있습니다. 이러한 정렬 정보를 활용하면 모델이 문장의 의미와 문법적 구조를 보다 정확하게 이해하고, 더욱 자연스러운 번역 결과를 제공할 수 있습니다.
도구 조작
본질적으로 LLM은 방대한 일반 텍스트 말뭉치를 가지고 훈련되었기 때문에, 텍스트 형태로 잘 표현되지 않는 작업에 대해서는 성능이 떨어질 수 있습니다. 또한 사전 학습 데이터에 한정되어 있어 최신 정보를 캡처할 수 없는 한계도 가지고 있었죠. 이러한 문제를 해결하기 위해 최근, 외부 도구를 사용하여 LLM의 결함을 보완하는 이론이 주목 받고 있습니다.
최근에는 ChatGPT가 외부 플러그인을 사용하는 메커니즘을 활성화했는데, 이는 LLM의 ‘눈과 귀’가 되어주면서 용량 범위를 광범위하게 확장하는 역할을 해주었습니다.
주요 모델과 역사
역사
_datahunt.webp)
LLM의 시작은 1960년대에서 시작되었습니다. 간단한 챗봇 프로그램에서 시작되어 오늘날의 ChatGPT와 같은 대형 모델이 탄생했죠. 아래는 LLM의 역사 중 핵심적인 이벤트와 그에 대한 설명입니다.
- Eliza (Joseph Weizenbaum, 1960s): 패턴 인식을 사용하여 사용자의 입력을 질문으로 변환하고, 미리 정의된 규칙 집합을 기반으로 응답을 생성
- LSTM (1997): 더 깊고 복잡한 신경망의 생성을 통해 더 많은 양의 데이터를 처리
- CoreNLP (2010): 감정 분석 및 명명된 NTT 인식 등의 복잡한 NLP 작업이 가능한 도구 및 알고리즘 세트
- Google Brain (2011): NLP 시스템이 단어의 맥락을 더 잘 이해할 수 있도록 지원
- Transformer (2017): 더 크고 정교한 LLM 모델을 만들 수 있게 되었으며, AI 기반 애플리케이션의 기반이 된 GPT-3의 전신이 됨
또한 최근에는 연구자와 개발자가 자신만의 LLM을 구축할 수 있도록 지원하는 사용자 친화적인 프레임워크와 도구가 개발되었습니다. 이를 기반으로 LLM의 발전은 여전히 현재진행형이라고 할 수 있습니다.
주요 모델
_datahunt.webp)
최근 가장 주목 받는 LLM의 핵심 모델은 다음과 같습니다.
- GPT-3.5 (OpenAI): GPT-3보다 약간의 성능과 안정성을 개선했으며, 광범위한 학습 데이터를 활용해 언어 이해 및 생성 능력을 향상시켜 SOTA를 달성했습니다.
- GPT-4 (OpenAI): GPT-3의 후속 모델로, 이전 버전보다 더 큰 모델 크기와 더 정교한 언어 이해와 생성 능력을 갖추고 있습니다.
- PaLM 2 (Google): Pre-trained Automatic Metrics를 사용한 언어 모델로, 사전 훈련된 언어 모델을 사용하여 기계 번역, 요약, 질문 응답 등의 다양한 NLP 작업에서 성능 평가를 위해 사용됩니다.
- LlaMA (Meta AI): Language Model Benchmark (LlaMA)에서 개발한 작업 중심 언어 모델로 sota를 달성했습니다. 다양한 자연어 처리 작업을 포함하여 언어 모델의 성능을 평가하고 비교하기 위해 사용됩니다.
LLM (거대 언어 모델) Use cases
스타트업 LLM 사용 사례
실제로 많은 스타트업이 파운데이션 모델을 토대로 LLM을 비즈니스에 투입하고 있습니다. 여러 기업들의 LLM 적용 사례를 보면 다양한 모델을 활용해 비즈니스의 색깔에 맞게 Tuning했다는 것을 알 수 있습니다. 여기서 그들이 선택한 파운데이션 모델의 평가는 비용과 성능, 정확성을 토대로 결정됩니다. 대부분의 기업은 여전히 OpenAI의 모델을 신뢰하는 경향이 있습니다. 다만 모델이 개선되고 더욱 세분화되거나 업종에 특화된 모델이 등장하기 시작하면 더욱 다양해질 것입니다. 여기서는 스타트업 생태계가 LLM을 활용하는 방식에 대해 알아보겠습니다.
Yoodli
_datahunt.webp)
- LLM을 사용해 사용자에게 텍스트 기반의 피드백 형태로 AI 기반 스피치 코칭을 제공
- 청중이 이해할 수 있는 연설 요약과 간결성, 의역, 준비해야 할 후속 질문에 대한 제안을 제공
Compose AI
_datahunt.webp)
- 타이핑 과정을 자동화하여 텍스트를 생성하고, 문장을 고치거나 자동 완성을 지원
- 스토리, 블로그 게시물, 웹사이트 카피, 연구 주제 등에 대한 아이디어를 획득하고 메시지나 이메일에 답장
Speak
_datahunt.webp)
- 언어 학습자가 개방형 대화에 참여하도록 유도
- 보다 원어민처럼 말하는 방법에 대해, 맥락에 맞는 피드백 제공
Seekout
_datahunt.webp)
- NTT 추출 및 텍스트 요약, 코드 요약, 콘텐츠 생성, 시맨틱 검색, 임베딩 및 코드 생성
- 인재 확보 및 인재 관리를 지원
Coda
_datahunt.webp)
- 표를 지능적으로 작성 및 편집할 수 있도록 도와주는 업무 도우미
- 회의 요약, 실행 항목 추출, 자동화된 워크플로우를 위한 카테고리, 데이터 및 콘텐츠 생성
국내 LLM 구축 사례
GPT 모델이 전 세계적으로 강세를 띄고 있는 가운데, 대한민국에서도 이에 지지 않는 기술력을 선보이며 세계 무대에 두각을 드러내고 있습니다. 국내에서 LLM을 직접 구축한 사례에 대해 살펴보겠습니다.
_datahunt.webp)
Huggingface의 오픈 LLM 리더보드는 전 세계 500여 개의 오픈 모델들이 추론과 상식 능력, 언어 이해 종합 능력 및 환각 현상 방지 등의 지표를 가지고 평균 점수로 경쟁하고, 공신력 있는 순위를 매기고 있습니다. 최근 업스테이지에서 개발한 생성 AI 모델이 Huggingface의 ‘오픈 LLM 리더보드’ 평가 점수에서 72.3점을 획득하여 GPT-3.5의 성능을 뛰어넘는 쾌거를 이뤄냈습니다.
지난 달 업스테이지가 공개한 30B(300억) 매개변수 모델은 평균 67점을 기록했으며, 같은 날에 발표한 메타의 LlaMA 2의 70B(700억) 모델을 추월했었죠. 이후 업스테이지는 더 많은 데이터를 기반으로 LlaMA 2 모델을 fine-tuning하여 세계 1위를 탈환하는 기록을 올렸습니다.
업스테이지는 최초의 한국어 자연어 이해(NLU) 평가 데이터셋인 '클루(KLUE)'를 개발하고, ICDAR OCR 세계대회에서 4개 종목에서 우승을 차지하며 성과를 거두었습니다. 또한, 국내 대표적인 멀티모달 생성 AI 서비스인 '아숙업(AskUp)'을 운영하여 130만 명의 이용자를 구독하게 되었으며, 프롬프트 엔지니어링과 파인튜닝에 대한 노하우 등 업스테이지만의 기술 자산을 결집하였습니다.
실전에서 LLM 구축 시 주의해야 할 점
사전학습 데이터가 LLM에 미치는 영향
소규모 PLM과 달리, 일반적으로 LLM은 막대한 계산 리소스를 사용하기 때문에 사전 학습을 여러 번 반복하는 것이 불가능에 가깝습니다. 따라서 LLM을 학습시키기 전에 잘 준비된 학습 코퍼스를 구축하는 것이 중요합니다. 사전 학습 훈련 말뭉치의 품질과 분포가 LLM의 성능에 어떤 영향을 미치게 될까요?
- 사전 학습 데이터의 품질
사전 학습 데이터의 품질은 모델이 언어의 다양한 측면을 잘 이해하고 표현할 수 있는지에 영향을 줍니다. 품질 좋은 데이터는 문법, 의미, 문맥 등을 잘 반영하고 있는 자연스러운 문장으로 구성되어야 합니다. 또한, 다양한 주제와 도메인의 데이터가 포함되어야 모델이 다양한 문제에 대해 잘 대응할 수 있습니다. 품질 좋은 데이터를 사용하면 모델은 보다 정확하고 의미 있는 문장 생성과 이해를 수행할 수 있게 됩니다. - 사전 학습 데이터의 분포
학습 데이터의 분포는 모델이 실제 문제를 처리할 때 언어의 다양한 측면을 얼마나 잘 다룰 수 있는지에 영향을 줍니다. 학습 데이터의 분포가 실제 응용 분야의 데이터와 유사하다면, 모델은 해당 분야의 언어 패턴과 도메인 특징을 잘 학습하여 더 정확한 예측을 할 수 있습니다. 예를 들어, 의료 분야에서 사용되는 모델은 의료 관련 텍스트 데이터로 사전 학습되는 것이 좋습니다. - 사전 학습 데이터의 양
기존 연구에 따르면 LLM 파라미터 규모가 커질수록 모델 학습에 더 많은 데이터가 필요한 것으로 나타났습니다. 모델 성능과 관련하여 모델 크기와 유사한 스케일링 법칙이 데이터 크기에서도 관찰된다는 것인데요. 최근 LLaMA는 더 많은 데이터와 긴 트레이닝을 통해 더 작은 모델도 좋은 성능을 달성할 수 있다는 것을 보여줬습니다. 따라서 연구자들은, 특히 모델 파라미터를 확장할 때 모델을 적절하게 훈련하기 위해서 고품질 데이터의 양에 더 많은 주의를 기울여야 한다고 강조하고 있습니다.
일반적으로 서로 다른 도메인이나 시나리오의 사전 학습 데이터는 서로 다른 언어적 특성이나 의미론적인 지식을 가지고 있습니다. 다양한 소스의 텍스트 데이터를 혼합하여 사전 학습함으로써, LLM은 광범위한 지식을 습득할 수 있게 될 뿐만 아니라 강력한 일반화 능력을 갖추게 됩니다. 물론 서로 다른 소스를 혼합할 때에는 다운스트림 작업에서 모델 성능을 저해하지 않도록 사전 학습 데이터의 분포를 신중하게 결정해야 합니다.
또한 특정 도메인에 대한 과도한 데이터 학습이 이뤄질 경우, 다른 도메인에 대한 LLM의 일반화 능력에 영향을 미칠 수 있습니다. 따라서, 연구자들은 사전 훈련 말뭉치에서 다른 도메인의 데이터 비율을 신중하게 결정할 필요가 있습니다. 이를 통해 특정 요구사항을 더 잘 충족하는 LLM을 개발할 수 있습니다.
거대 언어 모델 도입 시 기업이 주의해야 할 점
AI가 가져다주는 이점은 매우 크지만, 무턱대고 AI를 도입했을 경우 다른 부작용을 겪게 될 수도 있습니다. 따라서 아래와 같은 내용을 확인하고 전략적으로 접근하는 것이 중요합니다.
클라우드 애플리케이션 배포
비즈니스 요구 속도에 맞춰 애플리케이션 배포 속도를 높일 수 있다면 좋은 일이겠지만, 일부 기업은 애플리케이션 개발을 무모한 수준까지 확장하고 있다는 우려가 이어지고 있습니다. 시스템을 구축하고 배포하는 데 필요한 작업은 의외로 짧은 편에 속합니다. 그러나 기업 상당수가 애플리케이션의 전체적인 역할에 대해 충분히 고려하지 않고 있습니다. 전략상 필요해서 애플리케이션을 만들었다고 해도, 향후 살펴봤을 때 중복되는 기능일 가능성도 있습니다. 이런 혼란이 지속되면 관리 비용이 늘어나기 때문에 오히려 기업 미래를 해치는 길이 될 수 있습니다.
이를 극복하기 위해서는 AI를 도입하기 전에 명확한 목적과 전략을 수립해야 합니다. 기업은 어떤 문제를 해결하거나 어떤 가치를 창출하고자 하는지 목표를 설정해야 합니다. 목표를 정의하고 전략을 수립함으로써 AI 도입의 방향성을 잡을 수 있습니다.
시스템 확장 문제
_datahunt.webp)
AI 모델은 지속적인 개선과 최신 기술적 동향을 따라가는 것이 중요합니다. 모델의 성능을 평가하고 개선하기 위한 프로세스를 도입하고, AI 연구 및 개발 동향을 주시하여 최신 기술을 적용할 수 있어야 하죠.
그러나 빠르게 확장되는 AI 시스템을 지원하기 위해서는 기존보다 더 많은 양의 컴퓨팅 및 스토리지 리소스를 필요로 합니다. 즉, AI 시스템을 구축하기 위해서는 적절한 컴퓨팅 리소스와 인프라가 필요합니다. 기업은 충분한 리소스를 투입하여 인프라를 구축하고 유지보수할 수 있어야 합니다. 또한, AI 팀의 역량과 인력을 적절하게 보강하여 효과적인 운영을 할 수 있어야 합니다.
또한 AI 모델의 품질은 데이터의 품질에 크게 의존하므로 데이터 품질 관리가 중요합니다. 데이터의 정확성, 완전성, 일관성 등을 확인하고 개인정보 보호에 주의해야 합니다. 개인정보 보호 및 데이터 윤리에 대한 적절한 접근 방식과 정책을 마련해야 합니다. 따라서 사전 학습된 모델의 Tuning 과정의 중요성이 더욱 커지고 있는데요. 아래에서 LLM의 Tuning 방법인 파인 튜닝과 프롬프트 튜닝에 대해 자세히 알아보겠습니다.
파인 튜닝과 프롬프트 튜닝
_datahunt.webp)
파인 튜닝(Fine-tuning)과 프롬프트 튜닝(Prompt tuning)은 모두 사전 학습된 언어 모델(Language Model)을 특정 작업에 맞게 조정하는 방법입니다. 두 방법론 모두 LLM을 조정하는 방식으로 널리 사용되고 있지만, 일부 차이점도 있습니다. 여기서 정의와 특징을 자세히 비교해 보겠습니다.
파인 튜닝 (Fine-tuning)
사전 학습된 언어 모델 전체를 대상으로 추가 작업 데이터를 이용하여 모델을 재학습시키는 방법입니다. 사전 학습한 모델을 초기 가중치로 사용하고, 특정 작업에 대한 추가 학습 데이터로 모델을 재학습
- 모델 파라미터의 일부 또는 전체를 재학습하기 때문에 작업 특정성(task-specific)이 높은 모델을 얻을 수 있습니다.
- 대량의 추가 작업 데이터가 필요할 수 있습니다.
- 일반적으로 새로운 작업에 대해 파인 튜닝하는 데 시간이 오래 걸릴 수 있습니다.
- 특정 작업에 특화된 예측 수행 가능성이 높아집니다.
프롬프트 튜닝 (Prompt tuning)
입력 텍스트에 특정 구조화된 프롬프트(prompt)를 추가하거나 수정하여 모델의 동작을 조정하는 방법입니다. 특정 작업에 맞는 최적의 프롬프트 구성을 실험하고, 모델 출력을 조작하여 원하는 결과를 얻을 수 있도록 모델을 조정합니다.
- 사전 학습된 모델의 파라미터를 고정하고, 프롬프트 구성을 조정하여 특정 작업에 적합한 결과를 얻습니다.
- 기존 데이터에 추가 작업하지 않아도 되므로 데이터 확보에 대한 부담을 줄일 수 있습니다.
- 작업 특정성이 낮고, 다양한 작업에 대해 유연한 조정이 가능합니다.
- 초기 설정과 프롬프트 구성에 대한 실험이 필요하며, 설정에 따른 성능 차이가 있을 수 있습니다.
파인 튜닝은 모델 자체를 특정 작업에 맞게 재학습하는 것이며, 프롬프트 튜닝은 입력의 구조를 조정하여 모델의 동작을 조정하는 것입니다. 두 방법은 각각 장단점과 적용 가능한 상황에 따라 선택되어야 합니다.
결론: LLM의 비즈니스 적용을 위해 모델 경량화와 학습 데이터 품질 향상이 중요한 과제
대규모 LLM은 많은 파라미터와 계산 리소스를 필요로 합니다. 모델 경량화는 모델 용량과 계산 요구를 줄여서 더 빠른 추론 속도를 실현할 수 있습니다. 또한 기기 제약이나 대역폭, 저장 공간 등의 문제로 배포와 사용이 어려운 한계를 극복할 수 있습니다. 경량화된 모델은 이러한 제약을 극복하고 다양한 플랫폼과 환경에서 쉽게 배포하고 사용할 수 있다는 장점이 있습니다.
만약 기존 LLM의 파인 튜닝과 프롬프트 튜닝을 진행하는 과정에서 적합한 결과를 획득하지 못할 경우 많은 리소스를 낭비하게 됩니다. 반면 경량화되어 보다 합리적인 비용으로 운영할 수 있게 된 LLM은 다방면으로 모델을 조정할 수 있게 되어 훨씬 더 비즈니스에서 유효한 결과를 낼 수 있습니다.
최근 오픈 소스 모델이 다양해짐에 따라, 모델 선택의 폭이 더 넓어지고 있습니다. LLM을 정확히 벤치마킹하는 방법을 찾기는 어렵지만, 그만큼 LLM 사이를 전환하는 것이 더 쉬워지고 있습니다. 오픈 LLM이나 패스트챗(FastChat)과 같은 프로젝트는 API와 인터페이스가 서로 다른 다양한 모델을 더 간편하게 연결할 수 있도록 돕습니다. 경량화된 모델을 사용하면 레이어를 이어 붙이고, 경우에 따라서는 여러 모델을 병렬로 실행하는 방법을 채택할 수도 있죠.
또한 LLM을 비즈니스에 적용하기 위해서는 고품질 학습 데이터를 기반으로 한 구체적인 튜닝 노하우가 중요해지고 있습니다. LLM은 가능한 간결하고 효율적인 방식으로 사용자의 과제 해결이나 질문에 답변하려는 시도가 필요합니다. 또한 조작된 정보 대신 정확한 콘텐츠를 사용자에게 제공하는 것이 중요합니다. LLM이 사용자의 의도를 정확하게 정의하고 측정하는 것은 물론, 정직성을 가진 모델이 되기 위해서는 LLM이 학습한 대규모 말뭉치 데이터셋에 대한 품질과 피드백 데이터가 핵심 역량으로 떠오르고 있습니다.
Reference.
- What is a Large Language Model (LLM)? Techopedia Explains
- What are Large Language Models (LLMs)?
- 대규모 언어 모델이 사용되는 이유는? | NVIDIA Blog
- Impact of Large Language Models on Enterprise: Benefits, Risks & Tools
- 거대언어모델(LLM)의 현주소
- 초거대 언어모델(LLM)과 인간의 두뇌 : 딥러닝과 인간의 뇌 그리고 튜링테스트
- Large Language Models 101: History, Evolution and Future
- 스타트업은 어떻게 LLM을 쓸까
- “토종 대형언어모델, 글로벌 생성 AI 판도 뒤집었다!”...업스테이지, 챗GPT 넘어 ‘세계 최고 LLM’ 등극 < 기획 < FOCUS < 기사본문 - 인공지능신문
- 칼럼 | 클라우드 운영에 생성형 AI 도입 시 주의점 3가지 - CIO Korea
- 파인튜닝 vs 프롬프트
- 모든 회사가 생성형 AI에 대해 생각해야 하는 이유 - Zendesk KR
- “하나의 모델이 만능은 아니다” 챗GPT를 대체할 만한 14가지 LLM - ITWorld Korea