2023. 10. 28. 16:25ㆍ관심있는 주제/LLM
본 글에서는 요즘 가장 핫 한 LLM에 대해서 알아보고자 한다.
LLM이란?
LLM은 "Large Language Model"의 약자로, 대규모 언어 모델을 의미합니다. LLM은 빅 데이터 시대에 등장한 수억 개의 매개변수를 가진 거대한 언어 모델로, 대량의 텍스트 데이터에 대해 학습됩니다. 이러한 모델은 주어진 문맥 정보를 바탕으로 텍스트를 생성하거나 이해하는 데 사용됩니다.
LLM의 주요 특징
대량의 데이터 학습: LLM은 인터넷의 텍스트, 책, 기사 등 다양한 소스에서 수십 또는 수백 기가바이트의 텍스트 데이터에 대해 학습됩니다.
수억 개의 매개변수: LLM은 수억 또는 그 이상의 매개변수를 포함할 수 있으며, 이로 인해 더 복잡한 패턴과 구조를 학습할 수 있습니다.
다양한 태스크 수행: LLM은 다양한 자연어 처리 태스크를 수행할 수 있습니다. 예를 들어, 텍스트 생성, 질문 응답, 번역, 요약 등의 작업을 수행할 수 있습니다.
전이 학습 (Transfer Learning): 일단 LLM이 대량의 데이터에 대해 사전 학습되면, 특정 태스크에 대해 미세 조정될 수 있습니다. 이를 통해 다양한 자연어 처리 문제에 적용될 수 있습니다.
LLM 알고리즘들
아래 사이트에 들어가면 현재까지 있는 LLM을 정리한 자료가 있습니다.
https://research.aimultiple.com/large-language-models-examples/
LLMs의 부상
LLMs는 최근 몇 년 동안 큰 주목을 받은 생성 AI 기술의 한 유형입니다. 딥 러닝과 전기와 같은 다른 일반적인 목적의 기술과 유사하게, LLMs는 다양한 산업에 걸쳐 광범위한 응용 프로그램에 영향을 미칠 잠재력이 있습니다. 이러한 모델은 대량의 데이터로 학습되어 인간과 같은 텍스트를 생성하고 놀라운 정확도로 복잡한 작업을 수행할 수 있습니다.
Prompts and Completion
LLMs 이전의 텍스트 생성
1. Seq2Seq (RNN)
생성 알고리즘의 발전은 지속적인 여정이었으며 초기 버전은 순환 신경망(RNNs)에 의존하였습니다. RNNs는 당시에 혁신적이었지만, 효과적인 생성 작업에 필요한 계산 및 메모리 요구 사항 때문에 한계가 있었습니다. RNN이 다음 단어를 예측하려고 시도하는 간단한 예시로 이러한 도전을 설명할 수 있습니다. 더 많은 앞선 단어들을 고려하도록 확장되었을 때도 모델은 정확한 예측을 하는데 실패하였습니다. 이유는 언어의 복잡성에 있습니다. 단어들은 여러 가지 의미를 가질 수 있고, 그 해석은 종종 문장이나 전체 문서의 맥락에 의존합니다. 이러한 본질적인 복잡성은 알고리즘이 진정으로 인간의 언어를 이해하는데 큰 장애물이었습니다.
2. Transformer
그러나 2017년, Google과 토론토 대학교에 의한 영향력 있는 논문인 "Attention is All You Need"에서 설명된 트랜스포머(Transformer) 구조의 도입으로 모든 것이 변했습니다. 트랜스포머는 멀티 코어 GPU에서 효율적으로 확장하고, 입력 데이터의 병렬 처리와 더 큰 학습 데이터 세트를 활용하는 것을 가능하게 하면서 생성 AI를 혁신하였습니다. 그 핵심적인 돌파구는 주목 메커니즘을 배우고 활용하는 능력이었으며, 이를 통해 모델이 처리되는 단어의 의미에 집중할 수 있게 되었습니다. 이 혁신적인 접근 방식은 주목이 생성 AI의 중요한 발전을 위한 핵심 성분임을 보여주었습니다.
Generating text with transformers
Transformer 구조는 그 인코더-디코더 프레임워크로 자연어 처리 분야를 혁명적으로 바꿔 놓았습니다. 이 구조에서 인코더는 입력 시퀀스를 처리하며, 그것들을 임베딩하고 다중 헤드 주목 레이어를 통과시킵니다. 이로 인해 입력의 구조와 의미에 대한 깊은 표현이 생깁니다. 반면 디코더는 시작 시퀀스 토큰으로 시작하여 인코더의 문맥적 이해를 활용해 새로운 토큰들을 루프에서 생성합니다. 이 생성은 시퀀스 종료 토큰이 예측될 때까지 계속되며, 최종 출력 시퀀스를 생성합니다. 인코더-디코더 모델은 번역과 같은 시퀀스-투-시퀀스 작업에 일반적으로 사용되지만, 여러 변형이 존재합니다.
Prompting and prompt engineering
자연어 처리 분야에서, 프롬프트 엔지니어링은 언어 모델의 성능을 향상하는 강력한 전략으로 떠올랐습니다.
프롬프트 내에 예시나 추가 데이터를 포함함으로써, 인-컨텍스트 학습이라는 기법을 사용하여 모델들은 특정 작업을 더 잘 이해하고 수행할 수 있습니다.
Zero-Shot Inference
이 방법은 특히 큰 언어 모델들에게 매우 효과적이며, 이들은 제로샷 추론(Zero-Shot Inference)에서 뛰어나며, 주어진 작업을 이해하고 정확한 응답을 생성하는 데 능숙합니다.
그러나 더 작은 모델들은 명시적인 예시 없이는 이와 같은 작업에 어려움을 겪을 수 있습니다.
One-Shot Inference
원샷 추론은 모델의 이해를 안내하기 위해 프롬프트 내에 단일 예시를 제공하는 것을 포함합니다.
이는 특히 작은 모델들의 성능을 향상시킬 수 있습니다.
Few Shot Inference
퓨샷 추론(Few Shot)은 여러 예시를 포함함으로써 이 개념을 더욱 확장시키며, 모델이 다양한 집합의 인스턴스로부터 학습하게 합니다. 이러한 예시들을 활용함으로써 모델들은 원하는 동작에 대한 더욱 명확한 이해를 얻고, 더 정확한 완성을 생성합니다.
프롬프트 내의 예시는 성능을 향상할 수 있지만, 문맥 창문(context window) 때문에 활용할 수 있는 인-컨텍스트 학습의 양에는 제한이 있습니다. 모델이 여러 예시들로 작업하는 데 어려움을 겪으면, 미세조정(Fine-Tuning)이 대안적인 접근법이 됩니다. 미세조정은 특정 작업에 대한 그 능력을 향상하기 위해 새로운 데이터로 모델을 학습시키는 것을 포함합니다.
여러 작업에서 모델의 성능을 결정할 때 모델의 규모를 고려하는 것이 필수적입니다.
매개변수가 더 많은 큰 모델들은 언어에 대한 더 넓은 이해를 가지며 제로샷 추론에서 뛰어나게 됩니다.
반면 작은 모델들은 일반적으로 제한된 수의 관련 작업에서 능숙합니다. 특정 사용 사례에 적합한 모델을 찾기 위해서는 실험과 평가가 필요할 수 있습니다.
적절한 모델이 확인되면, 생성된 완성의 스타일과 구조에 영향을 미치도록 설정을 조정할 수 있습니다.
이러한 설정은 특정 요구사항을 충족시키기 위해 출력을 맞춤화하는 유연성을 제공합니다.
전반적으로, 프롬프트 엔지니어링과 다양한 모델의 특성을 이해하는 것은 다양한 작업에 대한 언어 모델의 효과를 극대화하는 데 중요한 역할을 합니다. 예시를 활용하고 설정을 조정하며 적절한 모델을 선택함으로써 연구자와 개발자는 성능을 최적화하고 원하는 결과를 얻을 수 있습니다.
Generative configuration
언어 모델은 추론 중에 모델의 출력에 영향을 미치도록 설정 매개변수를 제공하는데, 이는 학습 시간 동안 학습된 학습 매개변수와는 별도입니다.
아래와 같은 매개변수를 설정함으로써 개발자들은 모델 성능을 최적화하고 LLM 기반 응용 프로그램에서 일관성 있고 창의적인 텍스트를 생성할 수 있습니다.
"Max new tokens"
- 모델이 생성하는 토큰의 수에 제한을 둡니다. 그러나 다른 중단 조건으로 인해 완성의 실제 길이는 다를 수 있습니다.
"Greedy Decoding"
- 다음 단어 예측을 위한 가장 간단한 방법으로, 가장 높은 확률을 가진 단어를 선택합니다. 그러나 이는 반복된 단어나 시퀀스를 결과로 가져올 수 있습니다.
"Random Sampling"
- 확률 분포를 기반으로 단어를 무작위로 선택하여 다양성을 도입하며, 단어의 반복 가능성을 줄입니다.
"Top-K"
- 가장 높은 확률을 가진 k개의 토큰 중에서 선택하여 옵션을 제한하며, 높은 무작위성을 촉진하면서도 매우 불가능한 완성을 방지합니다
"Top-P"
- 누적 확률이 지정된 임계값을 초과하지 않는 예측에 무작위 샘플링을 제한하여 합리적인 출력을 보장합니다.
"Temperature"
- 확률 분포의 형태에 영향을 미칩니다. 높은 온도 값은 무작위성을 증가시키며, 낮은 값은 확률을 더 작은 단어 집합에 집중시킵니다.
Generative AI project lifecycle
스코프 정의
생성 AI 기반 응용 프로그램을 개발하고 배포하려면 여러 단계를 포함한 체계적인 접근이 필요합니다. 이 글은 이러한 프로젝트의 라이프 사이클을 개괄하고 개발자들이 직면할 수 있는 주요 결정과 과제를 안내하는 데 초점을 맞추고 있습니다.
가장 첫 번째이자 가장 중요한 단계는 프로젝트의 범위를 정의하는 것입니다. 응용 프로그램 내에서의 언어 모델(LLM)의 예상 기능을 정확하게 식별하는 것이 필수적입니다. 1)모델이 긴 형태의 텍스트 생성을 포함하여 여러 작업을 수행해야 하는지, 아니면 2) 명명된 엔터티 인식과 같은 특정 분야의 전문 지식이 필요한지 고려하세요.
모델의 목적에 대해 구체적으로 명시함으로써 개발자들은 시간, 자원 및 계산 비용을 절약할 수 있습니다.
다음으로 데이터 획득 및 전처리가 기본적입니다. 생성 모델은 학습에 방대한 양의 데이터를 필요로 합니다. 개발자들은 고품질, 다양하며 관련된 데이터셋을 확보해야 합니다. 응용 프로그램에 따라 도메인 특정 데이터를 사용하는 것이 일반 데이터보다 더 유익할 수 있습니다. 이 데이터를 전처리하는 것도 중요하며, 여기에는 데이터 클리닝, 토큰화, 조직화가 포함됩니다. 이는 모델이 효과적으로 이해하고 학습하기 위함입니다.
그 후에는 모델 아키텍처와 선택이 이어집니다. 트랜스포머 아키텍처의 등장으로 현재 많은 사전 훈련된 모델들이 사용 가능합니다.
모델 스코프 정의
프로젝트 범위가 결정되면 다음 결정은 모델을 처음부터 훈련시킬지 아니면 기존의 기본 모델을 사용할지 여부입니다.
일반적으로 기존 모델로 시작하는 것이 권장되지만, 모델을 처음부터 훈련시켜야 하는 경우도 있을 수 있습니다. 맞춤형 모델을 훈련시키는 것의 실행 가능성은 나중에 강좌에서 다룰 가이드라인과 경험 법칙을 사용하여 평가될 수 있습니다.
적절한 모델을 얻은 후 다음 단계는 성능을 평가하고 필요한 경우 추가 훈련을 하는 것입니다. 이전에 소개된 프롬프트 엔지니어링은 특정 작업 및 사용 사례에 대한 응답을 미세 조정함으로써 모델의 성능을 종종 개선할 수 있습니다. 그러나 특정 시나리오에서 추가적인 개선이 필요할 수 있으며, 이는 감독 학습 과정을 통한 미세 조정이 필요하게 됩니다.
모델이 더욱 복잡해짐에 따라 그들의 행동이 인간의 선호와 일치하도록 하는 것이 점점 더 중요해집니다.
이 부분에서 사람의 선호와 일치하기 위해서 RLHF 같은 방법론이 적용이 됩니다.
이 기술은 모델의 행동을 형성하고 윤리적이며 책임감 있게 행동하도록 보장하는 데 도움을 줍니다.
개발 과정은 종종 적응과 조정의 반복적인 순환을 포함합니다. 개발자들은 프롬프트 엔지니어링으로 시작하여 모델의 출력을 평가할 수 있습니다. 그런 다음 성능을 향상하기 위해 미세 조정을 진행하고 원하는 결과를 얻기 위해 프롬프트 엔지니어링을 다시 검토할 수 있습니다.
모델 배포
모델이 성능 요구 사항을 충족시키고 인간의 선호와 잘 일치하게 되면 응용 프로그램 인프라에 배포되고 통합될 수 있습니다. 이 단계에서는 계산 리소스 활용을 극대화하고 최적의 사용자 경험을 제공하기 위해 배포를 위한 최적화가 매우 중요해집니다.
그러나 LLM의 본질적인 한계를 인정하는 것이 중요합니다.
이러한 한계에는 불확실할 때 정보를 발명하는 경향과 복잡한 추론과 수학적 연산을 수행하는 데 제한된 능력이 포함됩니다.
요약하면, 이 글은 LLM으로 구동되는 생성적인 AI 애플리케이션을 개발하고 배포하는 라이프 사이클을 소개합니다. 이 프레임워크를 따르고 각 단계에서 정보에 기반한 결정을 내리면 개발자들은 프로세스의 복잡성을 탐색하고 도전 과제를 해결하며, 견고하고 윤리적으로 일치하는 애플리케이션을 만들 수 있습니다.
The Training Process for Large Language Models (LLMs)
생성 AI 애플리케이션을 개발할 때, 올바른 모델을 선택하는 것은 중요한 단계입니다.
두 가지 옵션이 있습니다: 기존 모델을 사용하거나 처음부터 새로운 모델을 훈련시키는 것입니다.
그러나 대부분의 경우, 기존의 기본 모델로 시작하는 것이 권장됩니다. Hugging Face와 PyTorch와 같은 프레임워크에서 제공하는 모델 허브는 오픈소스 모델의 다양한 범위를 제공하며, 각 모델의 사용 사례, 훈련 방법, 그리고 한계에 대한 필수적인 세부 사항을 제공하는 모델 카드와 함께 제공됩니다.
특정 작업에 어떤 모델을 사용할지 결정하기 위해서는 대규모 언어 모델의 훈련 과정을 이해하는 것이 중요합니다. 이 훈련 과정은 종종 사전 훈련이라고 불리며, 모델이 대량의 비구조화된 텍스트 데이터로부터 학습하는 것을 포함합니다.
여러 출처에서 수집된 기가바이트, 테라바이트, 혹은 페타바이트의 텍스트가 사용되며, 이에는 인터넷 스크랩과 정제된 코퍼스가 포함됩니다.
사전 훈련 중에는 모델의 가중치가 훈련 목표의 손실을 최소화하기 위해 업데이트됩니다.
훈련 목표는 모델의 아키텍처에 따라 다르며, 예를 들면, 자동 인코딩 모델의 경우 마스킹된 언어 모델링 또는 자동 회귀 모델의 경우 원인 언어 모델링과 같습니다.
목표는 데이터에 존재하는 패턴과 구조를 내면화함으로써 모델이 언어의 깊은 통계적 표현을 개발하는 것입니다.
LLM 사용 방식
사용 목적에 따라서 LLM 중에 사용하는 구조가 다 달라집니다.
Autoencoding Models: Encoder-Only Models
자동 인코딩 모델, 또는 인코더만을 사용하는 모델은 마스킹된 언어 모델링을 사용하여 사전 훈련됩니다.
이 접근법에서는 입력 시퀀스의 토큰이 무작위로 마스크 되며, 모델의 목표는 마스크 된 토큰을 예측하여 원래의 문장을 재구성하는 것입니다.
자동 인코딩 모델은 입력 시퀀스의 양방향 표현을 포착하므로 감정 분석이나 명명된 엔터티 인식과 같은 작업에 적합합니다. BERT와 RoBERTa와 같은 자동 인코더 모델의 잘 알려진 예가 있습니다.
Autoregressive Models: Decoder-Only Models
자동회귀 모델, 또는 디코더만을 사용하는 모델은 인과 언어 모델링을 사용하여 사전 훈련됩니다.
목표는 이전 토큰 시퀀스를 기반으로 다음 토큰을 예측하는 것입니다. 이러한 모델들은 입력 시퀀스를 마스크 하며, 질문 중인 토큰까지의 입력 토큰만 볼 수 있습니다. 수많은 예에서 다음 토큰을 예측하는 방법을 배우면서 자동회귀 모델은 언어의 통계적 표현을 구축합니다. 그들은 종종 텍스트 생성 작업에 사용됩니다. GPT와 BLOOM과 같은 디코더 기반의 자동회귀 모델의 대표적인 예가 있습니다.
Sequence-to-Sequence Models: Encoder-Decoder Models
시퀀스-투-시퀀스 모델은 원래의 트랜스포머 아키텍처의 인코더와 디코더 컴포넌트 모두를 활용합니다.
이러한 모델의 사전 훈련 목표는 특정 모델에 따라 다릅니다. 예를 들어, T5 모델은 span corruption을 사용하여 사전 훈련되며, 여기서 입력 토큰의 임의의 시퀀스가 마스크 되어 고유한 Sentinel 토큰으로 대체됩니다.
그 후 디코더는 마스크된 토큰 시퀀스를 자동 회귀적으로 재구성하는 작업을 수행합니다. 시퀀스-투-시퀀스 모델은 일반적으로 번역, 요약 및 질문-응답 작업에 사용됩니다. BART는 또 다른 잘 알려진 인코더-디코더 모델입니다.
Considering Model Size and Performance
보다 큰 모델은 일반적으로 향상된 능력과 성능을 보입니다.
연구에 따르면 모델 크기가 증가함에 따라 추가적인 미세 조정이나 훈련 없이도 잘 수행될 가능성이 높아집니다.
따라서 scalable transformer 아키텍처, 광범위한 훈련 데이터의 접근, 그리고 더 강력한 컴퓨팅 자원과 같은 요인에 의해 보다 큰 모델이 개발되었습니다.
그러나 이런 거대한 모델을 훈련시키는 것은 도전과 높은 비용을 수반하며, 이로 인해 지속적인 성장이 제한될 수 있습니다.
자동 인코딩 모델, 자동회귀 모델, 시퀀스-투-시퀀스 모델 간의 차이점을 이해하는 것은 개발자들이 생성형 AI 응용 프로그램에 가장 적합한 모델을 선택하는 데 도움을 줍니다.
특정 작업을 고려하고, 각 모델 아키텍처의 장점과 큰 모델의 이점을 고려함으로써 프로젝트 요구 사항과 사용 가능한 자원에 맞게 정보를 바탕으로 한 결정을 내릴 수 있습니다.
Reducing Memory Footprint with Quantization in Large Language Models
LLMs(대규모 언어 모델)을 훈련시키려는 노력 중 가장 흔하게 마주치는 도전은 메모리 부족입니다.
이러한 모델의 거대한 크기로 인해, 그들의 파라미터를 저장하고 훈련시키기 위해 상당한 양의 GPU RAM이 필요합니다. 그러나 이러한 메모리 문제를 완화할 수 있는 기술들이 있으며, 그중 하나는 양자화(quantization)입니다.
Approximate GPU RAM needed to store 1B parameters
What is Quantization?
양자화는 모델 가중치를 저장하는 데 필요한 메모리를 줄이기 위해 그들의 정밀도를 감소시키는 과정을 포함합니다. 파라미터를 표현하기 위해 기본적으로 사용되는 32비트 부동 소수점 수(FP32) 대신, 양자화는 16비트 부동 소수점 수(FP16) 또는 8비트 정수(INT8)를 사용합니다. 이러한 정밀도의 감소는 모델의 메모리 풋프린트를 최적화하는 데 도움을 줍니다.
Quantization Process and Memory Savings
양자화는 원래의 32비트 부동 소수점 수를 낮은 정밀도의 공간으로 통계적으로 투영하며, 원래의 숫자 범위에서 파생된 스케일링 인자를 사용합니다. 예를 들어, 32비트 정밀도에서 약 80기가바이트의 GPU RAM이 필요한 10억 개의 파라미터로 구성된 모델이 있다면, 양자화는 상당한 메모리 절약을 가져올 수 있습니다.
16비트 반정밀도(FP16)를 사용하면 메모리 요구사항을 50% 줄일 수 있어 GPU RAM이 오직 40기가바이트만 필요합니다. 더욱이, 모델 파라미터를 8비트 정수(INT8)로 표현하면 메모리 풋프린트를 32비트 전체 정밀도에 비해 총 98.75% 감소시켜 단지 1기가바이트까지 줄일 수 있습니다.
BFLOAT16: A Popular Precision Choice
BFLOAT16 (BF16)은 딥러닝에서 널리 채택된 정밀도 형식으로 부상하였습니다. Google Brain에 의해 개발된 BF16은 FP16와 FP32 사이의 하이브리드로, 단지 16비트만으로 FP32의 전체 동적 범위를 포착합니다. 이 형식은 향상된 학습 안정성을 제공하며 NVIDIA의 A100과 같은 새로운 GPU에서 지원됩니다. 정수 계산에는 적합하지 않지만, BFLOAT16은 LLMs에서 인기 있는 선택이 되었습니다.
Challenges of GPU Memory Limitations
양자화를 통해 얻은 메모리 절약에도 불구하고, LLMs는 여전히 사용 가능한 GPU 메모리의 한계를 밀어붙입니다.
수십억 또는 수천억 개의 파라미터를 초과하는 모델로, 단일 GPU에서의 훈련은 실행 불가능하게 됩니다. 이러한 거대한 모델을 훈련시키기 위해서는 분산 컴퓨팅 기술과 여러 GPU의 사용이 필요하며, 수백 개의 GPU에 접근하는 것이 비싸게 될 수 있습니다.
양자화는 훈련 중 큰 언어 모델의 메모리 사용량을 줄이는 유용한 기술로 활용됩니다.
FP16 또는 INT8과 같은 낮은 정밀도 형식을 사용함으로써 모델의 전체 성능을 저하시키지 않고도 큰 메모리 절약 효과를 얻을 수 있습니다. LLMs의 크기가 계속 커지면서 개발자들은 GPU 메모리 제한을 극복하고 이 거대한 모델을 효과적으로 훈련시키기 위해 분산 컴퓨팅 방법과 다중 GPU 설정을 탐구해야 합니다.
Scaling Model Training with Multiple GPUs: Improving Efficiency and Performance
작은 딥러닝 모델부터 큰 모델까지 여러 GPU에 모델 훈련을 분산시키는 것은 필수적으로 되었습니다. 이 글에서는 GPU 간 모델 훈련을 효율적으로 확장할 수 있는 두 가지 인기 있는 기술, 분산 데이터 병렬(DDP) 및 완전히 분할된 데이터 병렬(FSDP)에 대해 살펴보겠습니다.
Distributed Data-Parallel (DDP):
DDP는 데이터 배치의 병렬 처리를 위해 대규모 데이터를 여러 GPU에 분산하는 기술입니다. 각 GPU는 독립적으로 데이터를 처리하고, 이후 동기화 단계에서 모든 GPU의 모델을 업데이트합니다. 이 기술은 모델이 하나의 GPU에 맞을 때 적합하며 훈련 속도를 높입니다.
Fully Sharded Data Parallel (FSDP):
FSDP는 ZeRO 기술에서 영감을 받아 개발된 것으로, 모델이 단일 GPU의 메모리에 맞지 않을 때의 해결책을 제공합니다. ZeRO (제로 중복 최적화기)는 모델 매개변수, 기울기, 그리고 최적화기 상태를 GPU에 분산하거나 샤딩함으로써 메모리 사용량을 최적화하려는 목표를 가지고 있습니다. FSDP는 ZeRO에서 명시된 샤딩 전략을 사용하여 이러한 구성 요소를 GPU 노드에 분산합니다. 이를 통해 단일 칩의 용량을 초과할 것으로 예상되는 모델을 처리할 수 있게 됩니다.
shard(샤딩)이란?
샤딩(Shard)은 데이터베이스 설계 분야에서 일반적으로 사용되는 용어로, 큰 데이터베이스를 더 작은, 더 쉽게 관리할 수 있는 부분(조각)으로 나누는 것을 의미합니다. 이렇게 나뉜 각 부분을 "샤드(Shard)"라고 부릅니다.
샤딩의 주요 목표는 데이터베이스의 성능, 관리, 및 확장성을 향상시키는 것입니다. 대량의 데이터와 높은 처리량을 다루는 애플리케이션에서는 하나의 서버로 모든 것을 처리하는 것이 비효율적일 수 있습니다. 샤딩을 통해 데이터를 여러 서버에 분산시켜 처리 부하를 줄이고, 각 서버의 리소스를 최적화시킬 수 있습니다.
위의 그림을 보면 샤딩인 테이블을 분할하는 것으로 DB 서버의 부하를 분산할 수 있다고 한다.
Memory Optimization with ZeRO:
ZeRO는 세 가지 최적화 단계를 제공합니다:
1단계는 최적화기 상태만을 샤딩하여 메모리 사용량을 최대 4배까지 줄입니다.
2단계는 기울기를 샤딩하여 1단계와 결합할 때 메모리 사용량을 최대 8배까지 추가로 줄입니다.
3단계는 모델 매개변수를 포함한 모든 구성 요소를 샤딩하며, 메모리 감소는 GPU 수에 선형적으로 비례합니다.
Efficient Training with FSDP
FSDP는 딥 러닝 모델을 효과적으로 학습시키기 위한 방법입니다. 기본적으로, 큰 딥 러닝 모델의 데이터와 중요한 부분들(예: 모델의 파라미터, 기울기, 최적화 상태)을 여러 GPU에 나눠서 저장합니다. 이렇게 나누는 것을 '샤딩'이라고 합니다.
DDP 방식과는 달리, FSDP는 학습 과정 중 모든 GPU로부터 데이터를 모으는 과정이 필요합니다. 각 GPU는 필요한 데이터 부분만 다른 GPU에서 요청하고, 그 데이터는 잠시 동안 저장되어 사용됩니다. 그 후, 모든 GPU의 기울기 정보를 합쳐 학습을 진행합니다.
결론적으로, FSDP는 GPU 메모리 사용을 줄이면서 효과적으로 큰 모델을 학습시키는 방법을 제공합니다. 또한, 필요에 따라 일부 학습 계산을 다른 장치로 옮겨서 메모리 사용을 더욱 최적화할 수도 있습니다.
Performance Comparison (FDSP)
FSDP는 큰 모델을 학습할 때 DDP에 비해 그 장점을 보여줍니다. 611 백만에서 113억 개의 파라미터를 가진 T5 모델의 경우, FSDP는 모델 정밀도가 16비트로 낮아도 GPU 당 더 높은 테라플롭을 달성합니다.
DDP는 특정 모델 크기를 넘어서면 메모리 부족 오류가 발생하는 반면, FSDP는 더 큰 모델도 원활하게 처리합니다. 그러나 GPU 수와 모델 크기가 증가하면 칩 간의 통신량이 성능에 영향을 줄 수 있습니다.
DDP와 FSDP 기법을 사용하여 다중 GPU에서 모델 학습을 확장하면 큰 효율성과 성능 향상을 얻을 수 있습니다. DDP는 단일 GPU에 모델이 맞을 때 병렬 처리를 지원하며, FSDP는 단일 칩의 메모리 한계를 초과하는 큰 모델을 학습할 수 있습니다.
성능이 향상된 더 작은 모델을 학습하기 위한 대안 접근법으로서의 계산 최적 모델에 대한 연구를 살펴볼 것입니다.
Understanding the Scaling Choices
언어 모델의 성능을 향상시키기 위해 두 가지 기본적인 옵션을 탐구할 수 있습니다: 1) 데이터셋 크기를 증가시키거나 2) 모델의 매개변수 수를 늘리는 것입니다.
그러나 이러한 선택은 하드웨어 제한, 학습 시간 제약, 재무적 고려 사항과 같은 요인을 포함하는 사용 가능한 계산 예산에 영향을 받습니다.
The Power of Compute Budget
연구를 통해 계산 예산과 모델 성능 간에 power-law relationship가 있음이 밝혀졌습니다.
더 강력한 프로세서 사용이나 더 긴 학습 시간을 통해 계산 예산을 늘림으로써 모델 성능을 향상할 수 있습니다. 그러나 계산 자원은 종종 제한적이므로 학습 데이터셋 크기와 모델 매개변수 간의 상호 작용을 더 깊게 조사해야 합니다.
"power-law relationship"은 한 변수의 변화가 다른 변수의 거듭제로써의 변화와 관련이 있음을 나타내는 통계적 관계
Training Dataset Size
실증 데이터는 모델의 테스트 손실로 측정된 성능 개선이 계속되는 것으로, 훈련 데이터셋의 크기를 늘리면 성능이 개선된다는 것을 보여줍니다.
연구자들은 이상적인 훈련 데이터셋 크기가 모델 내의 매개변수 수보다 대략 20배 크다는 것을 발견했습니다.
Model Size Matters
또 다른 중요한 측면은 모델의 매개변수 수입니다.
제대로 훈련된 큰 모델은 더 나은 성능을 보입니다.
그러나 Chinchilla 논문은 많은 큰 언어 모델들이 과도하게 매개변수화되고 훈련이 부족할 수 있다고 제안하며, 더 큰 데이터셋에서 더 작은 모델로 동일하거나 더 나은 성능을 달성할 수 있는 가능성을 나타냅니다.
Optimal Models
Chinchilla 논문은 컴퓨트 최적화 모델의 개념을 소개하였습니다. 이러한 모델들, 예를 들면 700억 매개변수를 가진 Chinchilla 모델은 GPT-3과 같은 비최적화 모델보다 다양한 하위 작업에서 더 나은 성능을 보였습니다.
Chinchilla의 권장 사항을 따르면서 연구자들은 더 작고, 더 최적화된 모델로 눈부신 결과를 얻었습니다.
Towards Improved Task Performance
팀과 개발자들이 모델 설계를 최적화하기 위해 노력하면서, 더 큰 모델이 항상 더 나은 것이라는 개념에서 점점 벗어나고 있습니다. 최근의 발전은 더 작고, 컴퓨트 최적화된 모델이 그들의 더 큰 동료들에 비해 비슷하거나 우월한 결과를 제공할 수 있는 잠재력을 보여주었습니다.
500억 매개변수로 훈련된 Bloomberg GPT와 같은 모델들은 처음부터 사전 훈련의 이점을 강조하여 더 나은 작업 성능을 달성합니다.
언어 모델의 개발을 형성하는 훈련 데이터셋 크기, 모델 크기, 및 컴퓨트 예산 사이의 이상적인 균형을 찾는 탐구는 계속되고 있습니다. Chinchilla 논문과 같은 경험적 연구를 활용하여, 연구자들은 사용 가능한 자원의 제약 내에서 성능을 최대화하는 방법을 발견하고 있습니다. 이 분야가 발전함에 따라, 더 최적화된 모델 설계로의 변화를 기대하게 될 것이며, 이는 매우 효율적이고 효과적인 언어 모델로 이어질 것입니다.
Customizing Language Models for Specialized Domains
오늘날 빠르게 변화하는 기술 풍경에서 대형 언어 모델(LLM)은 다양한 응용 프로그램에 있어 귀중한 도구로 입증되었습니다. 기존의 사전 훈련된 LLMs는 종종 견고한 기반이 될 수 있지만, 도메인 특정 지식이 중요한 경우도 있습니다.
이러한 경우, 개발자들은 처음부터 자신의 모델을 사전 훈련하는 어려운 작업을 수행해야 할 수 있습니다. 이 기사는 도메인 적응의 중요성을 탐구하고, Bloomberg 연구자들이 개발한 금융 중심의 언어 모델인 BloombergGPT의 예시를 강조합니다. 또한 고도로 전문화된 도메인에서 LLMs를 맞춤화하는 데 관련된 트레이드오프와 고려 사항에 대해 설명합니다.
Understanding Domain Adaptation
법률, 의학, 금융 및 과학과 같은 특정 도메인들은 자체 어휘와 독특한 언어 구조를 가지고 있습니다.
이러한 도메인에서의 일반적인 용어와 구문은 그들의 각각의 분야 외에는 익숙하지 않을 수 있습니다.
따라서, 더 일반적인 텍스트 원천에서 훈련된 기존의 LLMs는 이러한 전문 용어를 정확하게 이해하고 사용하는 데 어려움을 겪을 수 있습니다. 예를 들면, 법률 문서에서 "mens rea"나 "res judicata"와 같은 문구들은 특정한 법적 의미를 가지지만 일상 언어에서는 제한된 사용을 찾을 수 있습니다.
Challenges of Medical Language
비슷한 도전들은 병조, 시술 및 처방을 설명하는 특정 의학 용어가 널리 사용되는 의학 응용 프로그램에서도 나타납니다. 기존의 LLMs는 이런 덜 흔한 의학 용어에 노출되지 않을 수 있어, 의학 텍스트를 정확하게 이해하고 생성하는 능력이 제한될 수 있습니다. 예를 들어, “q.i.d.”와 같은 줄임말은 약사들에게는 명확한 처방 의미를 가지지만, 다른 사람들에게는 전문 용어로 보일 수 있습니다.
BloombergGPT
금융 중심의 LLM: BloombergGPT는 금융 분야에서의 전문화된 LLM의 대표적인 예시입니다.
Bloomberg 연구자들에 의해 개발된 이 모델은 사전 훈련 중에 금융 특화 데이터와 일반 목적 텍스트를 결합합니다.
금융 및 공용 데이터(금융 데이터 51%, 공용 데이터 49%) 사이의 균형을 유지함으로써, BloombergGPT는 금융 벤치마크에서 우수한 결과를 달성하면서도 일반 목적 LLM 벤치마크에서 경쟁력 있는 성능을 보여줍니다.
Model Architecture and Tradeoffs (BloombergGPT)
BloombergGPT의 연구자들은 금융 중심의 LLM을 개발하는 복잡성을 어떻게 헤쳐나갔는지, 그리고 그들의 모델 구조에 대한 통찰력을 제공합니다.
그들은 처음에는 지침을 위한 참조점으로 chinchilla 스케일링 법칙을 사용했지만, 현실 세계의 제약으로 인한 타협점을 마주하게 되었습니다.
LLMs와 스케일링 법칙을 비교하는 그래프는 BloombergGPT가 사용 가능한 컴퓨트 예산을 고려하면서 최적의 모델 크기와 얼마나 밀접하게 일치하는지 보여준다.
Real-World Constraints and Tradeoffs
금융 분야 데이터의 제한된 사용 가능성은 BloombergGPT의 사전 훈련에서 어려움을 초래하였습니다.
따라서 모델의 훈련 데이터 세트 크기는 chinchilla 스케일링 법칙에서 권장하는 값보다 낮았습니다. 이 시나리오는 전문화된 LLMs를 개발할 때 자원을 신중하게 균형 잡아야 하며, 모델 성능을 최적화하기 위해 타협점을 설정해야 한다는 것을 강조합니다.
응용 프로그램 및 사전 훈련에 대한 Conclusion
이 글은 LLMs, 그들의 응용 프로그램 및 사전 훈련 과정에 대한 포괄적인 개요를 제공하였습니다. 기존의 사전 훈련된 모델들은 가치가 있지만, 특수한 분야는 맞춤형 언어 모델을 필요로 합니다. BloombergGPT의 예는 도메인 특화된 사전 훈련이 얼마나 우수한 결과를 가져올 수 있는지 보여줍니다. 그러나, 이는 개발 과정 중에 실제 세계의 제약 조건을 다루고 타협점을 설정할 필요성도 강조합니다. 이러한 이해를 바탕으로 개발자들은 매우 특화된 분야에서 뛰어난 성능을 발휘하는 LLMs를 구축하여 산업을 혁신하고 도메인 특화된 응용 프로그램을 향상할 수 있습니다.
훈련과 평가 방법 (튜닝, 세부 조정 기술)
인공지능 분야에서 대형 언어 모델 (LLM)은 다양한 응용 분야에서 중요한 역할을 합니다. 지난 기사에서는 LLM의 기초를 이루는 트랜스포머 네트워크와 Genitive AI 프로젝트 생명주기를 살펴보았습니다. 이번 기사에서는 명령어 튜닝과 효율적인 세부 조정 기술에 중점을 두어 이 주제를 더 자세히 다룹니다.
Instruction Tuning and Its Significance
대규모 언어 모델 (LLM)을 방대한 양의 데이터로 사전 훈련시키면 그들은 세계에 대한 학습을 할 수 있지만, 종종 구체적인 프롬프트나 지침에 대한 응답에 어려움을 겪습니다.
이것이 지침 튜닝이 필요한 이유입니다. 모델을 훈련하여 그 동작을 변경하고 지침에 더 효과적으로 응답하도록 만들면, 그 성능과 유용성을 향상할 수 있습니다.
The Breakthrough of Instruction Fine-Tuning
지침 튜닝(Instruction Fine-Tuning)은 대형 언어 모델의 역사에서 주요한 진전을 나타냅니다.
사전 훈련과는 달리, 모델이 일반 텍스트를 기반으로 다음 단어를 예측하는 것이 아니라, 지침을 따르기 위해 특별히 맞춤화된 작은 데이터 세트에서 모델을 훈련할 수 있게 합니다. 이 지침 튜닝 (Instruction Fine-Tuning) 프로세스를 통해 모델은 특정 작업에서 적응하고 뛰어날 수 있게 됩니다.
Challenges and Solutions
지침 튜닝(Instruction Tuning)에서의 한 가지 어려움은 모델이 새로운 데이터에서 훈련받을 때 이전에 학습한 정보를 잊어버리는 "급격한 망각(catastrophic forgetting)"입니다. 이를 극복하기 위해 우리는 다양한 지침 유형에 걸쳐 지침 튜닝과 같은 기술을 논의합니다. 훈련의 범위를 확대함으로써, 급격한 망각의 위험을 줄일 수 있습니다.
Efficient Fine-Tuning with Parameter Efficient Fine-Tuning (PEFT)
대형 모델의 세밀 조정은 컴퓨팅 및 메모리 리소스를 많이 필요로 할 수 있습니다. 이를 해결하기 위해, 파라미터 효율적인 세밀 조정 (PEFT)은 리소스 요구 사항을 줄이면서 유사한 성능 결과를 얻는 방법을 제공합니다.
LoRA (Low Rank Approximation)와 같은 기술은 계산 및 메모리 사용을 최소화하면서도 놀라운 성능을 제공할 수 있는 능력으로 인해 인기를 얻고 있습니다. 이 내용은 다음 기사에서 자세히 다룰 것입니다.
Choosing the Right Approach
개발자들은 종종 만족스러운 결과를 제공할 수 있는 프롬프트로 시작합니다.
그러나 프롬프트가 한계에 도달할 때, PEFT와 같은 기술을 사용한 세밀 조정은 추가 성능 향상을 끌어내기 위해 중요해집니다. 작은 모델을 세밀 조정에 사용하는 비용 대비 효율성은 거대한 모델의 이점과 제한을 고려하여 개발자들 사이에서 논쟁의 주제가 되고 있습니다.
Implications and Benefits
파라미터 효율적인 세밀 조정은 사용자들이 금전 부담 없이 생성적 AI 모델을 세밀 조정할 수 있게 만듭니다.
이러한 기술은 개발자들에게 특정 작업, 도메인 및 응용 프로그램을 위해 모델을 세밀 조정하고 메모리 풋프린트(memory footprint)와 리소스 사용을 최적화할 수 있는 능력을 제공합니다. 또한 적절한 크기의 모델을 보유함으로써 데이터 관리와 개인 정보 보호 문제를 해결할 수 있습니다.
명령어 프롬프트를 사용하여 대형 언어 모델을 세밀 조정하는 것은 특정 작업을 위해 그들의 성능을 향상시키기 위한 강력한 기술입니다. 명령어 튜닝과 PEFT와 같은 기술을 활용함으로써 개발자들은 계산 및 메모리 제약을 관리하면서 중요한 개선을 이룰 수 있습니다.
Challenges
대형 언어 모델 (LLM)을 특정 작업을 위해 세밀 조정할 때의 도전 중 하나는 급격한 망각 (catastrophic forgetting) 이라는 잠재적인 문제입니다. 이 현상은 세밀 조정 과정이 원래의 LLM의 가중치를 수정하여 대상 작업에서 성능을 향상시키지만 다른 작업에서는 성능 저하를 초래하는 경우에 발생합니다. 이를 해결하기 위해 개발자들은 두 가지 옵션을 가집니다.
첫째, 특정 작업에만 초점을 맞추고 그 영역에서 신뢰성 있는 성능을 우선시할 수 있습니다. 다른 작업에 대한 일반화 능력에 대한 고민 없이 특정 작업에 집중하는 것이죠. 그러나 멀티태스크 기능이 필요한 경우, 파라미터 효율적인 세밀 조정 (PEFT)은 해결책을 제공합니다.
PEFT는 사전 훈련된 대부분의 가중치를 보존하고 작업별 어댑터 레이어와 매개변수만 작은 양으로 훈련합니다. 이 접근법은 급격한 망각의 위험을 크게 줄이고 모델이 멀티태스크 일반화 능력을 유지할 수 있게 합니다. 이 기사의 나중 부분에서 PEFT의 흥미로운 세계와 LLM 세밀 조정에 대한 응용 분야를 탐구할 것입니다.
Fine-Tuning Language Models for Multitask Learning: Improving Performance Across Tasks
멀티태스크 세밀 조정은 단일 작업 세밀 조정의 확장으로, 언어 모델의 성능을 다양한 작업에서 동시에 향상하는 강력한 기술로 부상했습니다. 모델을 다양한 작업을 포함한 다양한 예제로 구성된 데이터 세트에서 훈련함으로써, 요약, 리뷰 평가, 코드 번역 및 개체 인식과 같은 여러 작업에서 발생할 수 있는 급격한 망각을 피할 수 있습니다.
이를 위해서는 5만 건에서 10만 건의 예제와 같은 상당한 양의 데이터가 필요하지만, 멀티태스크 세밀 조정의 혜택은 상당하며 노력을 들이는 가치가 있습니다.
Introducing the FLAN Family of Models
FLAN (세밀 조정된 언어 넷) 모델 패밀리는 멀티태스크 지침 세밀 조정의 성공을 대표하는 모범 사례입니다.
FLAN-T5와 같은 모델은 T5 기반 모델에서 파생되었고, FLAN-PALM은 palm 기반 모델을 기반으로 합니다. 이러한 모델들은 놀랄 만한 473개 데이터셋에서 146가지 작업 범주를 포괄하는 훈련을 받았습니다. 이러한 포괄적인 훈련 접근 방식은 이러한 모델들이 다양한 작업에서 놀라운 성능과 다용도성을 나타낼 수 있게 합니다.
Unleashing the Power of Dialogue Summarization with FLAN-T5
다양한 작업 중에서 대화 요약은 언어 모델에게 중요한 능력으로 돋보입니다. 머핀 컬렉션의 일부인 SAMSum 데이터셋은 언어 모델이 대화를 요약하는 훈련을 할 수 있는 기반을 제공합니다. 언어학자들에 의해 만들어진 SAMSum은 언어학적으로 선별된 요약문으로 정교하게 주석이 달린 16,000개의 메신저와 같은 대화로 구성되어 있습니다. 모델에게 대화를 다양한 어구로 요약하도록 지시하는 프롬프트 템플릿을 활용함으로써, FLAN-T5 모델은 인상적인 결과를 얻습니다.
Customizing FLAN-T5 for Domain-Specific Dialogue Summarization
FLAN-T5가 여러 작업에서 능력을 발휘하고 있더라도 특정 사용 사례에서는 추가적인 개선이 필요할 수 있습니다. 가령, 고객 서비스 팀을 지원하는 어플리케이션을 개발 중인 데이터 과학자라고 가정해 보겠습니다. 이 경우, 채팅 대화의 정확한 요약이 필요하여 주요 동작을 식별하고 적절한 응답을 결정해야 할 것입니다. SAMSum 데이터셋은 다양한 대화 주제를 다루고 있지만, 고객 서비스 채팅의 언어 구조와 완벽하게 일치하지 않을 수 있습니다.
Fine-Tuning FLAN-T5 with DialogSum
이러한 도전을 해결하기 위해, DialogSum과 같은 도메인 특화 요약 데이터셋을 활용한 추가적인 세밀 조정을 통해 FLAN-T5의 요약 능력을 향상시킬 수 있습니다. DialogSum은 13,000개 이상의 고객 지원 채팅 대화와 요약을 포함하고 있으며, 당신의 챗봇이 마주치는 대화와 더 가까운 일치를 제공합니다. 이 세밀 조정 과정을 통해 모델은 고객 서비스 도메인에 특화된 뉘앙스에 대한 더 깊은 이해를 얻게 되어 더 정확하고 맥락에 맞는 요약을 생성할 수 있습니다.
Optimizing Model Performance through Internal Data
DialogSum 데이터셋은 설명적인 예시일 뿐, 세밀 조정의 진정한 힘은 회사의 내부 데이터를 활용하는 데 있습니다.
고객 서비스 애플리케이션에서 실제 지원 채팅 대화를 활용함으로써 모델은 회사의 선호하는 요약 스타일의 복잡성을 학습하고 고객 서비스 동료에게 더 맞춤형이고 가치 있는 요약을 제공할 수 있습니다.
Evaluating Fine-Tuned Models
세밀 조정 작업에 착수할 때, 모델의 완성품 품질을 평가하는 것이 중요해집니다. 세밀 조정된 모델의 성능을 평가하는 데 도움이 되는 다양한 메트릭과 벤치마크에 대해 자세히 살펴보겠습니다. 이를 통해 당신이 얻은 개선 사항을 측정하고 세밀 조정된 버전이 기본 모델보다 우월한지를 판단할 수 있게 됩니다.
Assessing Performance and Comparing Large Language Models: Metrics for Evaluation(ROUGE, BLEU, HELM)
대형 언어 모델의 성능을 평가할 때, 정확도와 같은 전통적인 기계 학습 메트릭은 출력물의 결정론적이지 않고 언어 기반 특성 때문에 한계가 있습니다. 이런 모델의 개발자들은 이러한 도전을 해결하기 위해 ROUGE와 BLEU와 같은 메트릭스를 개발했습니다. 이러한 메트릭스를 살펴보고 모델 성능을 평가하는 데 어떻게 사용할 수 있는지 알아보겠습니다.
ROUGE: Recall Oriented Understudy for Gisting Evaluation
ROUGE는 주로 자동으로 생성된 요약의 품질을 평가하기 위해 사용되며, 이를 인간이 생성한 참조 요약과 비교합니다. ROUGE 내의 메트릭은 ROUGE-1 및 ROUGE-2를 포함하여 참조 및 생성된 문장 간의 단어 수준 일치에 중점을 둡니다. ROUGE-1은 개별 단어 일치를 기반으로 재현율, 정밀도 및 F1 점수를 측정하며, ROUGE-2는 바이그램 일치를 고려합니다.
그러나 ROUGE 점수만으로는 단어의 완전한 문맥과 순서를 포착하지 못할 수 있어 잠재적으로 오해를 불러일으킬 수 있습니다. 이 한계를 극복하기 위해 ROUGE-L 점수는 참조와 생성된 출력 간의 가장 긴 공통부분 수열을 계산하여 더 포괄적인 평가를 제공합니다. 단어의 순서를 고려하며 더 정확한 평가를 제공합니다.
BLEU: Bilingual Evaluation Understudy
BLEU는 원래 기계 번역 텍스트를 평가하기 위해 설계된 것으로, 기계 생성 번역과 참조 번역 간의 n-그램 일치를 비교하여 번역의 품질을 측정합니다.
BLEU 점수는 다양한 n-그램 크기에 대해 계산되며, 이러한 크기에서의 평균 정밀도를 사용하여 BLEU 점수를 결정합니다. 이는 생성된 출력이 참조 번역과 얼마나 유사한지를 측정하는 방법을 제공합니다.
ROUGE와 BLEU 점수 모두 장단점을 가지고 있습니다. 빠르고 간단한 평가 방법을 제공하지만, 언어 모델의 최종 성능을 평가하는 데 단일 기준으로 사용해서는 안 됩니다. 더 포괄적인 평가를 위해, 연구자들은 서로 다른 작업에 맞게 맞춤형 평가 벤치마크를 개발했습니다.
요약하면, ROUGE와 BLEU 메트릭스는 요약 및 번역과 같은 작업에서 대형 언어 모델의 성능을 평가하는 유용한 도구로 작용합니다. 이러한 메트릭스는 인간 참조와 비교하여 생성된 출력의 품질과 유사성을 자동화된 구조적 방식으로 측정하는 방법을 제공합니다. 그러나 더 포괄적인 평가를 위해, 해당 분야의 연구자들이 개발한 작업별 평가 벤치마크를 고려하는 것이 중요합니다.
이러한 메트릭스와 평가 벤치마크를 통합함으로써, 개발자들은 자신의 모델의 능력과 개선 사항에 대한 통찰력을 얻을 수 있으며, 세밀 조정 과정 중에 정보화된 결정을 내리고 다른 모델과 효과적으로 비교할 수 있습니다.
Benchmarking Language Models
언어 모델의 실제 능력을 평가하려면 포괄적이고 전체적인 접근 방식이 필요합니다. Rouge와 BLEU 점수와 같은 간단한 평가 메트릭스는 제한된 통찰력을 제공하므로 올바른 평가 데이터셋을 선택하는 것이 중요합니다. 연구자들은 모델의 능력, 잠재적인 리스크, 그리고 보이지 않는 데이터에 중점을 두어 LLM 성능을 정확하게 측정하고 비교하기 위한 사전 설정된 벤치마크를 수립했습니다. 분야에서 주목할 만한 몇 가지 벤치마크를 살펴보겠습니다.
1.GLUE와 SuperGLUE:
2018년에 소개된 GLUE (General Language Understanding Evaluation)는 감정 분석 및 질문 응답과 같은 다양한 자연어 작업으로 구성됩니다. 2019년에 소개된 SuperGLUE는 GLUE의 한계를 극복하고 다중 문장 추론과 독해 포함한 더 어려운 작업을 다룹니다. 이 두 벤치마크는 모델 성능을 비교하고 진행 상황을 추적하기 위한 리더보드를 제공합니다.
2. 언어 모델의 종합적 평가 (HELM):
HELM 프레임워크는 모델의 투명성을 향상시키고 성능 평가를 안내하는 것을 목표로 합니다. 이는 기본 정확도 측정을 넘어 16가지 핵심 시나리오에서 일곱 가지 메트릭을 측정하는 멀티메트릭 접근 방식을 채용합니다. HELM은 또한 공정성, 편향, 그리고 유해성에 대한 메트릭스를 포함하고 있으며, 인간과 유사한 생성 능력과 잠재적인 피해 가능성이 높아짐에 따라 이러한 측정이 중요합니다.
3. 언어 모델의 종합적 평가 (HELM):
HELM 프레임워크는 모델의 투명성을 향상시키고 성능 평가를 안내하는 것을 목표로 합니다. 이는 기본 정확도 측정을 넘어 16가지 핵심 시나리오에서 일곱 가지 메트릭을 측정하는 멀티메트릭 접근 방식을 채용합니다. HELM은 또한 공정성, 편향 및 유해성에 대한 메트릭스를 포함하고 있으며, 인간과 유사한 생성 능력과 잠재적인 피해 가능성이 높아짐에 따라 이러한 측정이 중요합니다.
이러한 벤치마크를 활용함으로써 연구자들은 언어 모델의 능력을 종합적으로 이해하면서 언어 이해의 다양한 차원을 다룰 수 있습니다. LLM이 발전함에 따라 벤치마크를 지속적으로 발전시키고 위험을 평가하는 것이 중요하며, 이로써 이러한 강력한 언어 모델의 책임 있는 개발과 배포를 보장할 수 있습니다.
참고 자료
https://medium.com/@yash9439/introduction-to-llms-and-the-generative-ai-part-1-a946350936fd
'관심있는 주제 > LLM' 카테고리의 다른 글
LLM) Training 방법중 ORPO(Monolithic Preference Optimization without Reference Model) 알아보기 (0) | 2024.04.14 |
---|---|
LLM) Mixed-Precision 개념 및 학습 방법 알아보기 (0) | 2024.04.13 |
LLM) PEFT 학습 방법론 알아보기 (1) | 2024.02.25 |
LLM) Milvus 라는 Vector Database 알아보기 (0) | 2023.11.11 |
LLM) BloombergGPT 논문 읽기 (1) | 2023.11.02 |