Your browser does not support JavaScript!

거대 언어 모델(LLM)의 발전과 서빙 최적화 기법: 현황과 기술적 진보

일일 보고서 2024년 08월 01일
goover

목차

  1. 요약
  2. 파인튜닝과 RAG 기법
  3. LLM의 발전 현황
  4. LLM 서빙 최적화 기법
  5. Meta AI와 LLaMA 모델
  6. 최신 AI 뉴스 동향
  7. 결론

1. 요약

  • 이 리포트는 거대 언어 모델(LLM)의 최근 발전과 서빙 최적화 기법들을 종합적으로 다룹니다. 주요 주제로는 파인튜닝, RAG 기법, PEFT 및 QLoRA 등을 통해 LLM의 성능을 높이는 방법이 있습니다. 초거대 언어 모델의 역사와 대규모 파라미터와 성능의 상관관계, 그리고 최신 LLM 서빙 최적화 기법들이 체계적으로 분석되었습니다. 또한 Meta AI의 LLaMA 모델과 같은 최신 기술 트렌드와 Open Flamingo v2 등의 신기술 동향을 소개하며, 리포트는 LLM의 실용성과 다양한 활용 사례를 제시합니다.

2. 파인튜닝과 RAG 기법

  • 2-1. 파인튜닝의 정의와 장단점

  • 파인튜닝은 사전학습된 거대 언어 모델(LLM)에 추가적인 작은 데이터 세트를 학습시켜 특정한 작업에 맞게 미세하게 조정하고 성능을 개선하는 방법입니다. 이는 모델의 응답 스타일, 톤앤매너, 포맷과 같은 질적인 면모를 변경하거나, 특정한 작업에 특화될 때 유리합니다. 장점으로는 특정 작업에 최적화된 결과를 얻을 수 있고, 모델의 응답 신빙성을 보장합니다. 하지만 파인튜닝 전체를 진행할 경우, 시간과 비용이 많이 소모되며, 파괴적 망각(Catastrophic Forgetting)의 문제가 발생할 수 있습니다.

  • 2-2. RAG 기법의 적합성과 활용

  • RAG(Retrieval-Augmented Generation) 기법은 모델의 지식적인 측면을 수정하고자 할 때 적합합니다. 이는 모델이 어떻게 답변하고 추론하는 지를 수정하는 경우에 활용되며, 데이터를 효율적으로 검색하고, 훈련된 모델과 결합하여 답을 생성하는 방식입니다. 이는 특히 정보를 최신 상태로 유지하고자 하거나, 대규모 데이터 세트에서 특정 정보를 추출하기에 적합합니다.

  • 2-3. PEFT 및 QLoRA의 역할

  • PEFT(Parameter Efficient Fine-Tuning)는 모델 전체의 파라미터를 튜닝할 필요 없이, 일부 파라미터만 튜닝하여 성능을 개선하는 방법입니다. LoRA(Low Rank Adaptation)는 고정 가중치를 가진 사전학습된 모델에 추가 훈련 가능한 레이어를 붙여 훈련하는 기법입니다. 이는 특히 데이터가 적은 상황에서 파인튜닝하기 용이하며, 도메인 외부의 데이터를 일반화하는 데 좋은 성능을 보입니다. 최근 등장한 QLoRA(Quantized LoRA) 기법은 8비트 양자화를 통해 인메모리 로드 부담을 줄이면서도 일정한 성능을 유지하게 해줍니다. 이를 통해 더욱 경제적이고 효율적인 파인튜닝이 가능합니다.

  • 2-4. LoRA 어댑터를 통한 유연한 설정

  • LoRA 어댑터는 파인튜닝된 모델을 유연하게 설정할 수 있는 장점을 제공합니다. 이는 모델의 전체 구조를 변경하지 않으면서도 효율적으로 모델을 조정할 수 있게 해줍니다. LoRA 어댑터는 별도의 훈련을 통해 학습된 가중치를 사전훈련된 모델에 병합하여 사용하며, 어댑터 크기가 작기 때문에 메모리 부담이 적습니다. 이를 통해 비용 효율적으로 개인 맞춤형 모델을 개발할 수 있습니다.

3. LLM의 발전 현황

  • 3-1. 초거대 언어 모델의 역사

  • 초거대 언어 모델(LLM)은 언어 모델링 연구의 주요 진화 단계를 거쳐 발전해 왔습니다. 초기 통계적 언어 모델(SLM)은 1990년대에 등장했으며, 이후 신경 언어 모델(NLM)로 발전하였습니다. 특히, 순환 신경망(RNN)을 활용한 NLM은 단어 시퀀스의 생성을 성공적으로 모델링하였습니다. 이후 사전 학습된 언어 모델(PLM)이 등장하여 BERT와 같은 모델로 발전하였고, 대규모 말뭉치 데이터에 대해 트랜스포머 아키텍처를 기반으로 사전 학습되었습니다. 현재는 GPT-3와 PaLM과 같은 수십억 개의 파라미터를 가진 LLM이 등장하여, 소규모 모델에서는 관찰되지 않았던 이머전트 능력을 보유하고 있습니다.

  • 3-2. 대규모 파라미터와 성능의 상관관계

  • 연구자들은 LLM의 크기가 커질수록 성능이 향상된다는 스케일링 법칙을 발견하였습니다. GPT-2에서 GPT-3로의 발전은 모델 파라미터를 1.5B에서 175B로 확장함으로써 나타났습니다. 특히, GPT-3는 상황 내 학습 능력을 통해 소수의 예제만으로도 새로운 작업을 학습할 수 있는 능력을 보여주었습니다. 이러한 큰 모델은 대부분의 NLP 작업에서 높은 성능을 보였으며, 이는 파라미터 증가가 성능 향상으로 이어질 수 있다는 점을 입증하였습니다.

  • 3-3. ChatGPT의 사회적 영향

  • ChatGPT의 출시는 인간과 유사한 대화를 가능하게 하며 사회적으로 큰 주목을 받았습니다. ChatGPT는 다중 턴 대화에서 정확한 문맥 추적 능력, 수학적 문제 해결 능력, 방대한 지식 저장 능력을 갖추고 있으며, 이는 자연어 처리 및 대화형 AI의 발전에 큰 영향을 미쳤습니다. ChatGPT는 OpenAI의 GPT 모델 시리즈를 기반으로 하며, 특히 인간의 피드백을 통한 강화 학습 기법을 사용하여 안전하고 무해한 답변을 생성할 수 있게 되었습니다.

  • 3-4. 사전 학습과 적응 튜닝

  • 사전 학습된 언어 모델(PLM)은 대규모 라벨이 없는 말뭉치에 대해 트랜스포머 아키텍처를 기반으로 사전 학습되었습니다. BERT 모델은 이러한 사전 학습된 문맥 인식 단어 표현의 대표적인 예입니다. 적응 튜닝(미세 조정)은 사전 학습된 PLM을 다운스트림 작업에 맞게 수정하는 중요한 과정으로, 이는 모델의 성능을 크게 향상시킵니다. 예를 들어, GPT-3는 소수의 예제로도 학습할 수 있는 능력을 보여주었으며, 이는 추가 훈련 없이도 다양한 작업에 적용할 수 있게 합니다.

  • 3-5. LLM의 응용 가능성과 평가

  • LLM의 응용 가능성은 매우 광범위합니다. LLM은 자연어 처리, 정보 검색, 대화형 AI, 그리고 프로그래밍 문제 해결에 이르기까지 다양한 분야에서 활용되고 있습니다. LLM의 성능 평가는 주로 다양한 NLP 작업을 기반으로 하며, 모델의 이머전트 능력은 복잡한 작업을 처리할 수 있는 모델의 잠재력을 평가하는 중요한 지표입니다. 특히, 문맥 내 학습과 명령어 추종 능력은 LLM의 주요 평가 요소로 작용하고 있습니다.

4. LLM 서빙 최적화 기법

  • 4-1. Kernel Fusion과 Early Stopping

  • 커널 퓨전(Kernel Fusion)은 GPU에서 연산을 최적화하는 기법 중 하나로, 여러 개의 커널 연산을 하나로 합쳐서 성능을 향상시킵니다. 예를 들어, Matmul Kernel과 Add Kernel을 하나의 MatmulAdd Kernel로 합쳐 메모리 접근 오버헤드를 줄이는 방식입니다. TensorRT와 같은 도구들이 이를 자동으로 지원합니다. 한편, Early Stopping은 생성 모델이 목표 토큰을 생성했을 때 즉시 생성을 중지하여 불필요한 연산을 방지하는 기법입니다. 이 기법은 동적 그래프 프레임워크(예: PyTorch)에서 주로 사용됩니다.

  • 4-2. Key/Value Caching

  • Key/Value Caching은 LLM에서 앞부분의 문맥을 계속 재사용하여 중복 연산을 줄이는 기법입니다. 토큰 생성 시 앞부분의 Key와 Value 값을 캐시해서 이후 토큰 생성 시 재활용합니다. 이를 통해 연산 효율을 크게 향상시킬 수 있습니다. 예를 들어, Huggingface 코드에서 .generate(..., use_cache=True)를 설정하면 이 기법을 활용할 수 있습니다.

  • 4-3. Flash Attention과 Dynamic Batching

  • Flash Attention은 메모리 스루풋 병목 문제를 해결하는 GPU 최적화 기법으로, 트랜스포머 연산시 발생하는 메모리 접근을 최소화하여 성능을 향상시킵니다. Dynamic Batching은 여러 개의 입력을 한 개의 배치로 묶어 Tensor Core의 활용도를 높이는 방법입니다. 이 기법은 NVIDIA Triton 등의 도구에서 많이 사용됩니다. 다만, 배치 내 입력 길이가 다양할 경우 연산 비효율이 발생할 수 있습니다.

  • 4-4. CPU 및 GPU 서빙 방법

  • CPU 서빙은 GPU 없이도 모델을 서빙할 수 있는 방법입니다. 일반적으로 FastAPI와 같은 웹 프레임워크를 통해 모델을 REST API로 노출합니다. 주요 CPU 최적화 도구로는 PyTorch의 JIT-mode와 HuggingFace의 Optimum에서 제공하는 BetterTransformer가 있습니다. 한편, GPU 서빙은 더 많은 메모리와 높은 연산 성능을 제공하여 대규모 모델 서빙에 적합합니다. 대표적으로 NVIDIA의 A100, L40 등의 GPU가 사용됩니다. 메모리 요구사항에 따라 적절한 GPU를 선택해야 합니다.

  • 4-5. AWS Inferentia와 하드웨어 가속기 활용

  • AWS Inferentia는 딥러닝 모델 서빙을 위한 전용 하드웨어로, GPU 대비 비용 효율이 높습니다. 이 장치는 PyTorch와 Tensorflow 모델을 지원하며, Neuron SDK를 이용해 모델을 최적화합니다. 또한, Google TPU(Tensor Processing Unit)도 모델 학습 및 추론을 위한 대안으로 사용 가능합니다. TPU는 XLA 컴파일러를 통해 모델을 최적화하며, JAX와 같은 프레임워크와 함께 사용할 수 있습니다.

  • 4-6. NVIDIA Triton과 FasterTransformer 프레임워크

  • NVIDIA Triton은 FasterTransformer와 연동하여 높은 성능의 LLM 서빙을 지원하는 도구입니다. Triton은 Dynamic Batching과 모델 병렬화 등의 기능을 제공하여 최적화된 API를 쉽게 만들 수 있습니다. FasterTransformer는 고성능 추론을 위한 CUDA C++로 작성된 오픈소스로, 서빙 성능을 크게 향상시킬 수 있습니다. 네이버의 HyperCLOVA 서빙 프레임워크 역시 FasterTransformer를 이용해 구축되었습니다.

5. Meta AI와 LLaMA 모델

  • 5-1. Meta AI의 오픈 소스 모델 전략

  • Meta는 최근 AI 연구와 개발에서 투명성을 유지하고자 하는 노력의 일환으로 자체 개발한 모델들을 오픈 소스로 제공하고 있습니다. 대표적인 예로, AI 연구자들에게 최신 Foundation Model인 LLaMA를 공개하였습니다. 이는 Meta가 Pytorch와 같은 AI/ML 프레임워크를 오픈 소스로 출시한 것과 일맥상통합니다. 이러한 오픈 소스 전략은 AI 커뮤니티에서 많은 긍정적인 반응을 얻고 있으며, 연구 개발 속도를 크게 향상시키고 있습니다.

  • 5-2. LLaMA 모델의 특성과 성능

  • LLaMA 모델은 여러 가지 면에서 흥미로운 특징을 가지고 있습니다. 첫째, 모델 파라미터 수가 각각 6.7B, 13B, 32.5B, 65.2B인 네 가지 버전으로 출시되었습니다. 특히, LLaMA(13B)은 GPT-3(175B)보다 1/10 이하의 모델 사이즈를 가지면서도 모든 벤치마크에서 GPT-3을 능가하는 성능을 보여주고 있습니다. 또한 LLaMA는 Single GPU(V100)로도 실행이 가능해 추론 비용을 크게 절감할 수 있습니다.

  • 5-3. 비용 절감과 성능의 균형

  • LLaMA 모델은 성능을 유지하면서도 모델 파라미터 수를 줄임으로써 추론 컴퓨팅 비용을 크게 줄이는 데 중점을 두고 있습니다. 예를 들어 LLaMA(13B)는 10배 이상 큰 GPT-3에 비해 대부분의 벤치마크에서 우수한 성능을 보이며, LLaMA(65B)은 Chinchilla(70B)와 PaLM(540B)에 필적하는 수준의 성능을 가지고 있습니다. 이는 적은 비용으로도 고성능 AI 서비스를 제공할 수 있는 가능성을 높입니다.

  • 5-4. AI 모델의 윤리적 고려사항

  • LLaMA 모델은 웹에서 가져온 데이터를 학습하기 때문에 잠재적으로 독성 및 편향된 데이터를 포함할 수 있습니다. 이를 해결하기 위해 Meta는 LLaMA를 다양한 독성 콘텐츠 생성 및 진실성 탐지 벤치마크로 평가하였습니다. 예를 들어, RealToxicityPrompts에서 LLaMA-7B/13B/33B는 Respectful 버전의 독성 점수가 낮았지만, LLaMA-65B은 오히려 높아지는 경향을 보였습니다. 또한 CrowS-pairs 벤치마크에서 종교, 연령, 성별 관련 편향이 다른 모델에 비해 심한 것으로 나타났습니다.

  • 5-5. 환경 영향을 최소화하는 모델

  • Meta는 LLaMA 모델의 환경 영향을 최소화하기 위해 다양한 최적화 기법을 적용하였습니다. 예를 들어, LLaMA-65B의 학습에는 173톤의 CO2가 배출되었으나, 이는 동일한 학습 성능을 유지하면서도 추론 컴퓨팅 비용을 줄이기 위한 노력이 반영된 결과입니다. 또한 모델 파라미터의 크기를 줄이면서 전력 소모를 최적화하여 에너지 효율성을 높였습니다.

6. 최신 AI 뉴스 동향

  • 6-1. Open Flamingo v2의 비주얼 질문 응답 기능

  • Open Flamingo v2는 이미지와 텍스트를 기반으로 작동할 수 있는 딥마인드의 모델입니다. 이 모델은 비주얼 질문에 답할 수 있으며 강력한 언어 모델링 성능을 갖추고 있습니다. MPT와 RedPajama 기본 모델을 사용하며, 오리지널 Flamingo보다 약 80% 더 강력한 성능을 자랑합니다. 데모, 코드 및 가중치도 제공됩니다.

  • 6-2. OpenAI 런던 사무소 개설

  • OpenAI는 런던에 첫 번째 확장 사무소를 열었습니다. 어떤 팀이 참여할지, 몇 명이 근무할지, 언제 사무소가 개설될지에 대한 구체적인 정보는 아직 공개되지 않았습니다.

  • 6-3. ChatGPT Plus의 브라우징 기능

  • OpenAI는 ChatGPT 플러스 가입자를 위한 브라우징 기능을 도입하였습니다. 이를 통해 사용자는 검색어에 대한 답변, 특히 원래의 교육 데이터 이외의 최신 시사 및 정보를 얻을 수 있습니다. 이 기능은 Bing 검색 엔진을 독점적으로 사용하며, 이는 OpenAI와 마이크로소프트의 긴밀한 관계에 따른 결정입니다. 그러나 과거 Bing의 검색 결과에 허위 정보가 많다는 우려도 제기되고 있습니다.

  • 6-4. Salesforce와 XGen 모델 발표

  • Salesforce는 70억 개의 파라미터로 구성된 모델 세트를 GitHub를 통해 공개했습니다. 이 모델은 1조 5천억 개의 토큰을 4K 및 8K 시퀀스 길이로 학습하였으며, 현재 출시된 여러 오픈 소스 모델(MPT 또는 Falcon)보다 더 우수하거나 비슷한 성능을 제공합니다. 상업적으로는 실행 가능하지 않지만 연구 목적으로 사용할 수 있는 인스트럭트 모델도 포함되어 있습니다.

  • 6-5. Composer 라이브러리와 LightGlue 기술

  • Composer는 신경망을 더 빠르고, 저렴하게, 더 높은 정확도로 학습할 수 있게 해주는 PyTorch 라이브러리입니다. 또한 LightGlue는 사진 간 유사성을 더 쉽고 빠르게 찾을 수 있는 새로운 기술로, SuperGlue를 개선한 것입니다. LightGlue는 이미지의 복잡성에 적응할 수 있으며 단순한 이미지에서는 더 빠르게 작동하여 3D 모델 제작과 같은 실시간 애플리케이션에 유용할 수 있습니다.

  • 6-6. 자동화가 언어 모델에 미치는 영향

  • 자동화는 지식 업무의 방식에 큰 변화를 가져오고 있습니다. 이에 대한 보고서는 200여 명의 업계 리더와 자동화 전문가의 데이터를 수집하여 자동화의 현재 상태와 비즈니스에 미치는 영향을 분석했습니다.

7. 결론

  • 본 리포트는 거대 언어 모델(LLM)의 발전과 서빙 최적화 기법을 다루며, 파인튜닝과 RAG 같은 기술을 통해 성능을 개선하는 방법을 명확히 설명하였습니다. Meta AI의 오픈 소스 모델 전략과 LLaMA 모델의 특성과 성능, 그리고 최신 AI 뉴스 동향을 통해 기술 트렌드를 종합적으로 조망하였습니다. 주요 발견 사항으로는 LLaMA 모델의 경쟁력, Flash Attention과 Dynamic Batching 등의 최적화 기법, 그리고 ChatGPT의 사회적 영향입니다. 리포트의 한계를 보완하기 위해 더 많은 실험적 데이터와 응용 사례가 필요하며, 추가 연구 방향으로는 더 효율적인 서빙 기법과 윤리적 고려사항의 해결 방안이 제시됩니다. 이러한 결과는 연구자와 엔지니어들이 새로운 기술을 이해하고 실제 상황에 적용하는 데 유용한 자료가 될 것입니다.

8. 용어집

  • 8-1. 파인튜닝 [기술]

  • 사전 학습된 모델에 추가 학습을 통해 성능을 개선하는 기법으로, 특정 데이터나 태스크에 맞춰 모델을 조정할 때 사용됩니다. 비용이 높고 파라미터 저장이 어려운 점이 단점입니다.

  • 8-2. RAG [기술]

  • 모델의 지식을 수정하는데 적합한 방법론으로, 다양한 정보를 결합하여 더 나은 응답을 생성하는 특징이 있습니다.

  • 8-3. LLM [기술]

  • 대규모 언어 모델로, 대규모 데이터와 파라미터를 기반으로 하여 높은 성능을 발휘합니다. 최근 ChatGPT와 같은 모델이 주목받고 있습니다.

  • 8-4. Meta AI [회사]

  • 구글, 오픈AI와 함께 AI 발전을 주도하는 주요 기업 중 하나로, 오픈 소스 AI 모델인 LLaMA를 개발하였습니다. 이 모델은 비용 절감과 성능의 균형을 이룬다는 평가를 받고 있습니다.

  • 8-5. LLaMA [모델]

  • Meta AI에서 개발한 소형 거대 언어 모델로, 성능을 유지하면서도 컴퓨팅 자원을 효율적으로 사용합니다. 일부 벤치마크에서 더 큰 모델을 능가하는 성능을 보입니다.

  • 8-6. Open Flamingo v2 [모델]

  • DeepMind에서 개발한 모델로, 비주얼 질문 응답 기능을 갖추고 있으며, 텍스트와 이미지를 결합한 응답 생성에 뛰어납니다.

9. 출처 문서