Llama 3: 다용도 오픈 소스 AI 모델 제품군

AI 기술 자료12개월 전 업데이트 AI 공유 서클
3.9K 00

초록.

이 백서에서는 Llama 3라는 새로운 기본 모델 세트를 소개합니다. Llama 3는 다국어, 코드 작성, 추론 및 도구 사용을 본질적으로 지원하는 언어 모델 커뮤니티입니다. 가장 큰 모델은 4,050억 개의 매개변수와 최대 128,000개의 토큰 컨텍스트 창을 갖춘 고밀도 Transformer이며, 이 백서에서는 Llama 3에 대한 광범위한 일련의 경험적 평가를 수행합니다. 그 결과, Llama 3는 많은 작업에서 GPT-4와 같은 주요 언어 모델에 필적하는 품질을 달성하는 것으로 나타났습니다. 사전 학습 및 사후 학습된 4,050억 개의 파라미터 언어 모델과 입출력 보안을 위한 Llama Guard 3 모델을 포함하여 Llama 3를 공개적으로 사용할 수 있습니다. 이 백서에서는 이미지, 비디오, 음성 기능을 조합적 접근 방식을 통해 Llama 3에 통합하는 실험 결과도 제시합니다. 이 접근 방식은 이미지, 비디오 및 음성 인식 작업에 대한 최신 접근 방식과 경쟁력이 있음을 관찰했습니다. 이 모델은 아직 개발 단계에 있기 때문에 널리 공개되지는 않았습니다.

 

전문 다운로드 PDF:

1722344341-Llama_3.1 논문: 다용도 오픈 소스 _AI_ 모델 제품군(중국어 버전)

 

 

1 소개

 

기본 모델는 광범위한 AI 작업을 지원하도록 설계된 언어, 시각, 음성 및 기타 양식의 일반 모델입니다. 이는 많은 최신 AI 시스템의 기초를 형성합니다.

최신 기본 모델의 개발은 두 가지 주요 단계로 나뉩니다:

(1) 사전 교육 단계. 모델은 단어 예측이나 그래프 주석 생성과 같은 간단한 작업을 통해 방대한 양의 데이터를 학습합니다;

(2) 교육 후 단계. 모델은 지침을 따르고, 사람의 선호도에 맞추고, 특정 기능(예: 코딩 및 추론)을 개선하도록 미세 조정됩니다.

이 백서에서는 Llama 3라는 새로운 언어 기반 모델 세트를 소개합니다. Llama 3 Herd 모델 제품군은 본질적으로 다국어, 인코딩, 추론 및 도구 사용을 지원합니다. 가장 큰 모델은 최대 128K 토큰의 컨텍스트 창에서 정보를 처리할 수 있는 405B 매개변수를 갖춘 고밀도 트랜스포머입니다.

표 1에는 무리의 각 구성원이 나열되어 있습니다. 이 백서에 제시된 모든 결과는 Llama 3.1 모델(줄여서 Llama 3)을 기반으로 합니다.

고품질의 기본 모델을 개발하기 위한 세 가지 핵심 도구는 데이터, 규모, 복잡성 관리라고 생각합니다. 개발 과정에서 이 세 가지 영역을 최적화하기 위해 노력할 것입니다:

  • 데이터. 사전 학습과 사후 학습에 사용된 데이터의 양과 질 모두 이전 버전의 Llama에 비해 개선되었습니다(Touvron et al., 2023a, b). 이러한 개선 사항에는 사전 학습 데이터를 위한 보다 신중한 전처리 및 큐레이션 파이프라인 개발과 보다 엄격한 품질 보증 및 필터링 개발이 포함됩니다. 사전 학습 데이터를 위한 보다 신중한 전처리 및 큐레이션 파이프라인 개발과 보다 엄격한 품질 보증 및 필터링 개발이 포함됩니다. 라마 3는 약 15T의 다국어 토큰 말뭉치로 사전 학습되었고, 라마 2는 1.8T의 토큰으로 사전 학습되었습니다.
  • 범위. 이전 라마 모델보다 더 큰 모델을 학습시켰습니다. 주력 언어 모델은 3.8 × 10을 사용합니다.25 가장 큰 버전의 라마 2보다 거의 50배 더 많은 사전 학습용 플롭 수를 제공합니다. 특히, 15.6T 텍스트 토큰에 대해 405B 훈련 가능한 파라미터로 플래그십 모델을 사전 훈련했습니다. 예상대로

Llama 3:一个多功能、开源的 AI 模型系列

  • 복잡성 관리. 모델 개발 프로세스의 확장성을 극대화하기 위해 설계를 선택했습니다. 예를 들어, 표준 조밀도의 트랜스포머 모델 아키텍처(Vaswani et al., 2017)에 약간의 조정을 가하여 훈련 안정성을 극대화하기 위해 전문가 혼합 모델(Shazeer et al., 2017)을 사용하는 대신 비교적 간단한 사후 처리기를 사용했습니다. 마찬가지로, 안정성이 떨어지고 확장하기 어려운 복잡한 강화 학습 알고리즘(Ouyang et al., 2022; Schulman et al., 2017)이 아닌 감독 미세 조정(SFT), 거부 샘플링(RS), 직접 선호도 최적화(DPO; Rafailov et al. (2023)) 기반의 비교적 간단한 포스트 프로세서를 사용했습니다. 확장하기 어렵습니다.

그 결과 8B, 70B, 405B 매개변수를 지원하는 3개 언어 다국어인 Llama 3가 탄생했습니다.1언어 모델 모집단. 광범위한 언어 이해 작업을 포괄하는 수많은 벤치마크 데이터 세트에서 Llama 3의 성능을 평가했습니다. 또한 Llama 3와 경쟁 모델을 비교하는 광범위한 수동 평가를 수행했습니다. 표 2는 주요 벤치마크 테스트에서 주력 모델인 Llama 3의 성능에 대한 개요를 보여줍니다. 실험 평가 결과, 주력 모델은 GPT-4(OpenAI, 2023a)와 같은 주요 언어 모델과 동등한 수준이며 다양한 작업에서 최신 기술에 근접한 것으로 나타났습니다. 소규모 모델은 동급 최고 수준이며 비슷한 수의 매개변수를 가진 다른 모델보다 성능이 뛰어납니다(Bai 외, 2023; Jiang 외, 2023).Llama 3는 또한 이전 모델보다 도움과 무해성 사이에서 더 나은 균형을 이룹니다(Touvron 외, 2023b). 라마 3의 안전성은 섹션 5.4에서 자세히 분석합니다.

업데이트된 버전의 Llama 3 커뮤니티 라이선스(https://llama.meta.com 참조)에 따라 세 가지 Llama 3 모델을 모두 공개적으로 배포합니다. 여기에는 405B 파라메트릭 언어 모델의 사전 학습 및 사후 처리 버전과 입력 및 출력 보안을 위한 새로운 버전의 Llama Guard 모델(Inan et al., 2023)이 포함됩니다. 및 출력 보안을 위한 새로운 버전도 공개합니다. 이번 플래그십 모델 공개를 통해 연구 커뮤니티에 혁신의 물결을 불러일으키고 책임감 있는 인공 지능(AGI) 개발을 향한 진전을 가속화할 수 있기를 기대합니다.

다국어: 모델이 여러 언어로 된 텍스트를 이해하고 생성할 수 있는 기능을 말합니다.

 

라마 3를 개발하는 동안 이미지 인식, 비디오 인식, 음성 이해가 가능한 멀티모달 확장 모델도 개발했습니다. 이러한 모델은 아직 개발 중이며 아직 출시할 준비가 되지 않았습니다. 이 백서에서는 언어 모델링 결과와 더불어 이러한 멀티모달 모델에 대한 초기 실험 결과를 제시합니다.

라마 3 8B와 70B는 다국어 데이터에 대해 사전 학습되었지만 당시에는 주로 영어에 사용되었습니다.

Llama 3:一个多功能、开源的 AI 模型系列

 

 

2 일반

Llama 3 모델 아키텍처는 그림 1에 나와 있습니다. Llama 3 언어 모델의 개발은 크게 두 단계로 나뉩니다:

  • 언어 모델 사전 교육.먼저 대규모 다국어 텍스트 코퍼스를 개별 토큰으로 변환하고 다음 토큰 예측을 위해 결과 데이터에 대해 대규모 언어 모델(LLM)을 사전 학습시킵니다. LLM 사전 학습 단계에서 모델은 언어의 구조를 학습하고 '읽은' 텍스트로부터 세계에 대한 방대한 양의 지식을 습득합니다. 이를 효율적으로 수행하기 위해 사전 학습은 대규모로 이루어집니다. 8K 토큰의 컨텍스트 창을 사용하여 15.6T 토큰의 모델에 405B 매개변수로 모델을 사전 학습했습니다. 이 표준 사전 학습 단계에 이어서 지원되는 컨텍스트 창을 128K 토큰으로 늘리는 지속적인 사전 학습 단계가 이어집니다. 자세한 내용은 섹션 3을 참조하세요.
  • 모델 사후 교육.사전 학습된 언어 모델은 언어에 대한 이해도가 높지만 아직 지시를 따르거나 우리가 기대하는 어시스턴트처럼 행동하지 못했습니다. 저희는 인스트럭션 튜닝 데이터에 대한 감독 미세 조정(SFT)과 직접 선호도 최적화(DPO; Rafailov et al., 2024)를 포함해 여러 차례에 걸쳐 사람의 피드백을 통해 모델을 보정했습니다. 이 훈련 후 단계에서는 도구 사용과 같은 새로운 기능도 통합했으며 코딩 및 추론과 같은 영역에서 상당한 개선이 이루어졌습니다. 자세한 내용은 섹션 4를 참조하세요. 마지막으로, 학습 후 단계에서 보안 완화 기능도 모델에 통합되었으며, 자세한 내용은 5.4절에 설명되어 있습니다. 생성된 모델은 풍부한 기능을 갖추고 있습니다. 최소 8개 언어로 질문에 답하고, 고품질 코드를 작성하고, 복잡한 추론 문제를 해결하고, 즉시 또는 제로 샘플 방식으로 도구를 사용할 수 있습니다.

또한 복합적인 접근 방식을 통해 이미지, 비디오, 음성 기능을 라마 3에 추가하는 실험을 진행합니다. 우리가 조사하는 접근 방식은 그림 28에 표시된 세 가지 단계로 구성됩니다:

 

Llama 3:一个多功能、开源的 AI 模型系列
  • 멀티모달 인코더 사전 교육.이미지와 음성에 대해 별도의 인코더를 훈련합니다. 수많은 이미지-텍스트 쌍으로 이미지 인코더를 훈련합니다. 이를 통해 모델은 시각적 콘텐츠와 자연어 설명 사이의 관계를 학습할 수 있습니다. 음성 인코더는 음성 입력의 일부를 마스킹하고 이산 마커 표현을 통해 마스킹된 부분을 재구성하는 자기 지도 방식을 사용합니다. 따라서 모델은 음성 신호의 구조를 학습합니다. 이미지 인코더에 대한 자세한 내용은 섹션 7을, 음성 인코더에 대한 자세한 내용은 섹션 8을 참조하세요.
  • 시각적 적응 훈련.사전 학습된 이미지 인코더를 사전 학습된 언어 모델과 통합하는 어댑터를 학습시킵니다. 어댑터는 이미지 인코더 표현을 언어 모델에 공급하는 일련의 교차 주의 계층으로 구성됩니다. 어댑터는 텍스트-이미지 쌍에 대해 학습되어 이미지 표현을 언어 표현과 일치시킵니다. 어댑터를 학습하는 동안 이미지 인코더의 매개변수도 업데이트하지만 언어 모델의 매개변수는 의도적으로 업데이트하지 않습니다. 또한 페어링된 비디오-텍스트 데이터를 사용하여 이미지 어댑터 위에 비디오 어댑터를 학습시킵니다. 이를 통해 모델이 여러 프레임에 걸쳐 정보를 집계할 수 있습니다. 자세한 내용은 섹션 7을 참조하세요.
  • 마지막으로, 음성 코딩을 미세 조정된 언어 모델에 직접 공급할 수 있는 레이블이 지정된 표현으로 변환하는 어댑터를 통해 음성 인코더를 모델에 통합합니다. 감독된 미세 조정 단계에서 어댑터와 인코더의 매개변수가 공동으로 업데이트되어 고품질의 음성 이해를 달성합니다. 음성 어댑터 학습 중에는 언어 모델을 변경하지 않습니다. 또한 텍스트 음성 변환 시스템을 통합합니다. 자세한 내용은 섹션 8을 참조하세요.

멀티모달 실험을 통해 이미지와 비디오의 콘텐츠를 인식하고 음성 인터페이스를 통해 상호작용을 지원하는 모델을 개발했습니다. 이 모델들은 아직 개발 중이며 아직 출시할 준비가 되지 않았습니다.

 

 

3 사전 교육

 

언어 모델 사전 교육에는 다음과 같은 측면이 포함됩니다:

(1) 대규모 훈련 말뭉치 수집 및 필터링;

(2) 모델 크기를 결정하기 위한 모델 아키텍처 및 해당 스케일링 법칙을 개발합니다;

(3) 효율적인 대규모 사전 교육을 위한 기술 개발;

(4) 사전 교육 프로그램 개발. 아래에서 이러한 각 구성 요소에 대해 설명합니다.

 

3.1 사전 교육 데이터

2023년 말까지의 지식이 포함된 다양한 데이터 소스에서 언어 모델 사전 학습 데이터 세트를 만들었습니다. 고품질 라벨링을 얻기 위해 각 데이터 소스에 여러 가지 중복 제거 방법과 데이터 정리 메커니즘을 적용했습니다. 대량의 개인 식별 정보(PII)가 포함된 도메인과 성인용 콘텐츠가 포함된 것으로 알려진 도메인을 제거했습니다.

 

3.11 웹 데이터 정리

당사가 활용하는 대부분의 데이터는 웹에서 가져오며, 아래에서 정리 프로세스를 설명합니다.

PII 및 보안 필터링. 여러 조치 중에서도 안전하지 않은 콘텐츠 또는 대량의 PII를 포함할 수 있는 웹사이트, 다양한 메타 보안 표준에 따라 유해한 것으로 분류되는 도메인, 성인용 콘텐츠를 포함하는 것으로 알려진 도메인에서 데이터를 제거하도록 설계된 필터를 구현했습니다.

텍스트 추출 및 정리. 저희는 원시 HTML 콘텐츠를 처리하여 고품질의 다양한 텍스트를 추출하고 이를 위해 잘리지 않은 웹 문서를 사용합니다. 이를 위해 HTML 콘텐츠를 추출하고 템플릿 제거 및 콘텐츠 리콜의 정밀도를 최적화하는 맞춤형 파서를 구축했습니다. 수동 평가를 통해 파서의 품질을 평가하고 유사한 기사의 콘텐츠에 최적화된 유명 타사 HTML 파서와 비교한 결과, 파서의 성능이 우수한 것으로 확인되었습니다. 수식과 코드 콘텐츠가 포함된 HTML 페이지의 경우 해당 콘텐츠의 구조를 보존하기 위해 주의를 기울입니다. 수학 콘텐츠는 일반적으로 미리 렌더링된 이미지로 표현되며, 이 경우 alt 속성에도 수학이 제공되기 때문에 이미지 alt 속성의 텍스트가 유지됩니다.

마크다운이 일반 텍스트에 비해 주로 웹 데이터로 학습된 모델의 성능에 해롭다는 사실을 발견하여 모든 마크다운 태그를 제거했습니다.

강조 해제. URL, 문서, 줄 수준에서 여러 차례 중복 제거를 적용합니다:

  • URL 수준 중복 제거. 전체 데이터 세트에 대해 URL 수준의 중복 제거를 수행합니다. URL에 해당하는 각 페이지에 대해 최신 버전을 유지합니다.
  • 문서 수준 중복 제거. 전체 데이터 세트에 대해 글로벌 MinHash(Broder, 1997) 중복 제거를 수행하여 중복에 가까운 문서를 제거합니다.
  • 행 수준 중복 제거. 저희는 ccNet과 유사한 래디컬 수준의 중복 제거를 수행합니다(Wenzek et al., 2019). 3천만 개의 문서가 포함된 각 그룹에서 6회 이상 발생하는 행을 제거합니다.

수동 정성 분석에 따르면 줄 단위 중복 제거는 다양한 사이트(예: 탐색 메뉴, 쿠키 경고)에서 잔여 상용구 콘텐츠뿐만 아니라 자주 사용되는 고품질 텍스트도 제거하지만, 경험적 평가에서는 상당한 개선 효과가 있는 것으로 나타났습니다.

휴리스틱 필터링. 휴리스틱은 품질이 낮은 문서, 이상값, 반복 횟수가 너무 많은 문서를 추가로 제거하기 위해 개발되었습니다. 휴리스틱의 몇 가지 예는 다음과 같습니다:

  • 중복된 콘텐츠(예: 로그 또는 오류 메시지)로 구성된 행을 제거하기 위해 중복 n-튜플 범위(Rae et al., 2021)를 사용합니다. 이러한 행은 매우 길고 고유할 수 있으므로 행 중복 제거로 필터링할 수 없습니다.
  • 도메인 블랙리스트에 포함되지 않은 성인 사이트를 걸러내기 위해 '더러운 단어' 수(Raffel et al., 2020)를 사용합니다.
  • 토큰 분포의 쿨백-라이블러 산포를 사용하여 훈련 말뭉치 분포에 비해 비정상적인 토큰이 너무 많이 포함된 문서를 걸러냅니다.

 

모델 기반 품질 필터링.

또한 고품질 라벨을 선별하기 위해 다양한 모델 기반 품질 분류기를 사용하려고 시도했습니다. 이러한 방법에는 다음이 포함됩니다:

  • 주어진 텍스트가 위키백과에서 인용되는지 여부를 인식하도록 학습된 fasttext(Joulin 외, 2017)와 같은 빠른 분류기를 사용합니다(Touvron 외, 2023a).
  • 보다 계산 집약적인 로버타 모델 분류기(Liu et al., 2019a)가 사용되었는데, 이는 라마 2의 예측에 대해 학습된 것입니다.

Llama 2 기반 품질 분류기를 훈련하기 위해 품질 요구 사항을 설명하는 정리된 웹 문서 세트를 생성하고 문서가 이러한 요구 사항을 충족하는지 여부를 판단하도록 Llama 2의 채팅 모델에 지시했습니다. 효율성을 위해 각 문서에 대한 품질 점수를 생성하기 위해 DistilRoberta(Sanh et al., 2019)를 사용했습니다. 다양한 품질 필터링 구성의 효과를 실험적으로 평가할 것입니다.

코드 및 추론 데이터.

(2024)와 유사하게, 저희는 코드가 포함된 웹 페이지와 수학 관련 웹 페이지를 추출하기 위해 도메인별 파이프라인을 구축했습니다. 구체적으로, 코드 및 추론 분류기는 모두 Llama 2 주석이 달린 웹 데이터를 사용해 훈련된 DistilledRoberta 모델입니다. 위에서 언급한 일반적인 품질 분류기와는 달리, 수학적 추론, STEM 영역의 추론, 자연어에 포함된 코드가 포함된 웹 페이지를 대상으로 큐 튜닝을 수행합니다. 코드와 수학의 토큰 분포는 자연어와 매우 다르기 때문에 이러한 파이프라인은 도메인별 HTML 추출, 사용자 정의 텍스트 기능, 필터링을 위한 휴리스틱을 구현합니다.

다국어 데이터.

위에서 설명한 영어 처리 파이프라인과 마찬가지로 개인 식별 정보(PII)나 안전하지 않은 콘텐츠가 포함된 웹사이트 데이터를 제거하기 위해 필터를 구현합니다. 다국어 텍스트 처리 파이프라인에는 다음과 같은 고유한 기능이 있습니다:

  • 빠른 텍스트 기반 언어 인식 모델을 사용하여 문서를 176개 언어로 분류합니다.
  • 각 언어에 대해 문서 수준 및 행 수준의 데이터 중복 제거를 수행합니다.
  • 언어별 휴리스틱과 모델 기반 필터를 적용하여 품질이 낮은 문서를 제거합니다.

또한, 고품질 콘텐츠에 우선순위를 부여하기 위해 다국어 라마 2 기반 분류기를 사용하여 다국어 문서의 품질 순위를 매깁니다. 사전 학습에 사용하는 다국어 토큰의 수는 실험적으로 결정되며, 영어와 다국어 벤치마크 테스트에서 모델 성능의 균형을 맞춥니다.

 

3.12 데이터 믹스 결정

为了获得高质量语言模型,必须谨慎确定预训练数据混合中不同数据源的比例。我们主要利用知识分类和尺度定律实验来确定这一数据混合。

知识分类。我们开发了一个分类器,用于对网页数据中包含的信息类型进行分类,以便更有效地确定数据组合。我们使用这个分类器对网页上过度代表的数据类别(例如艺术和娱乐)进行下采样。

为了确定最佳数据混合方案。我们进行规模定律实验,其中我们将多个小型模型训练于特定数据混合集上,并利用其预测大型模型在该混合集上的性能(参见第 3.2.1 节)。我们多次重复此过程,针对不同的数据混合集选择新的候选数据混合集。随后,我们在该候选数据混合集上训练一个更大的模型,并在多个关键基准测试上评估该模型的性能。

数据混合摘要。我们的最终数据混合包含大约 50% 的通用知识标记、25% 的数学和推理标记、17% 的代码标记以及 8% 的多语言标记。

3.13 어닐링 데이터

경험적 결과에 따르면 소량의 고품질 코드 및 수학 데이터(3.4.3절 참조)로 어닐링하면 주요 벤치마크 테스트에서 사전 학습된 모델의 성능이 향상될 수 있습니다. Li 등(2024b)의 연구와 유사하게, 저희는 선택된 도메인의 고품질 데이터가 포함된 혼합 데이터 세트를 사용하여 어닐링합니다. 어닐링된 데이터에는 일반적으로 사용되는 벤치마크 테스트의 훈련 세트가 포함되어 있지 않습니다. 이를 통해 라마 3의 진정한 소수 샘플 학습 능력과 도메인 외 일반화를 평가할 수 있습니다.

OpenAI(2023a)에 이어, GSM8k(Cobbe et al., 2021) 및 MATH(Hendrycks et al., 2021b) 훈련 세트에 대한 어닐링의 효과를 평가했습니다. 어닐링은 사전 훈련된 라마 3 8B 모델의 성능을 GSM8k 및 MATH 검증 세트에서 각각 24.0% 및 6.4% 향상시키는 것으로 나타났습니다. 그러나 405B 모델의 경우 개선이 미미한 것으로 나타났는데, 이는 우리의 주력 모델이 강력한 상황 학습 및 추론 기능을 가지고 있으며 강력한 성능을 달성하기 위해 도메인별 훈련 샘플이 필요하지 않다는 것을 시사합니다.

어닐링을 사용하여 데이터 품질을 평가합니다.(2024)와 마찬가지로, 저희도 어닐링을 통해 소규모 도메인별 데이터 세트의 가치를 판단할 수 있다는 사실을 발견했습니다. 저희는 50%로 훈련된 라마 3 8B 모델의 학습 속도를 400억 토큰에 걸쳐 0으로 선형적으로 어닐링하여 이러한 데이터 세트의 가치를 측정합니다. 이 실험에서는 30% 가중치를 새 데이터 세트에 할당하고 나머지 70% 가중치는 기본 데이터 믹스에 할당합니다. 각각의 작은 데이터 세트에 대해 척도 법칙 실험을 수행하는 것보다 어닐링을 사용하여 새로운 데이터 소스를 평가하는 것이 더 효율적입니다.

 

 

3.2 모델 아키텍처

 

Llama 3는 표준 고밀도 트랜스포머 아키텍처를 사용합니다(Vaswani et al., 2017). 모델 아키텍처는 라마 및 라마 2와 크게 다르지 않으며(Touvron et al., 2023a, b), 성능 향상은 주로 데이터 품질 및 다양성 개선과 학습 규모 확장에서 비롯됩니다.

몇 가지 사소한 수정을 했습니다:

  • 저희는 8개의 키-값 헤더를 사용하여 추론 속도를 높이고 디코딩 중 키-값 캐시 크기를 줄이는 그룹화된 쿼리 주의(GQA; Ainslie et al. (2023))를 사용합니다.
  • 시퀀스에서 서로 다른 문서 간의 자기 주의 메커니즘을 방지하기 위해 주의 마스크를 사용합니다. 이 변경 사항은 표준 사전 학습 중에는 영향이 제한적이지만 매우 긴 시퀀스를 지속적으로 사전 학습할 때는 중요하다는 것을 알게 되었습니다.
  • 틱톡은 128K 토큰 어휘를 사용합니다. 토큰화된 어휘는 틱톡3 어휘의 100,000개의 토큰과 28,000개의 추가 토큰을 결합하여 비영어권 언어를 더 잘 지원합니다. 새로운 어휘는 라마 2 어휘에 비해 영어 데이터 샘플의 압축률을 토큰당 3.17자에서 3.94자로 개선했습니다. 이를 통해 모델은 동일한 양의 학습 계산으로 더 많은 텍스트를 '읽기'할 수 있습니다. 또한 특정 비영어권 언어에서 28,000개의 토큰을 추가하면 영어 토큰화에는 영향을 미치지 않으면서도 압축 및 다운스트림 성능이 향상되는 것을 발견했습니다.
  • RoPE 기본 주파수 하이퍼파라미터를 500,000으로 늘려 더 긴 컨텍스트를 더 잘 지원할 수 있습니다. Xiong 등(2023)에 따르면 이 값은 최대 32,768개의 컨텍스트 길이에 유효합니다.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

라마 3 405B는 126개의 레이어, 16,384개의 마커 표현 차원, 128개의 주의 헤드로 구성된 아키텍처를 사용합니다(자세한 내용은 표 3 참조). 이 결과 데이터와 3.8 × 10^25 FLOPs의 훈련 예산을 기준으로 대략 계산적으로 최적의 모델 크기가 산출됩니다.

 

3.2.1 규모의 법칙

학습 전 계산 예산이 주어졌을 때 플래그십 모델의 최적 크기를 결정하기 위해 스케일링 법칙(Hoffmann et al., 2022; Kaplan et al., 2020)을 사용했습니다. 최적의 모델 크기를 결정하는 것 외에도, 다운스트림 벤치마크 작업에서 플래그십 모델의 성능을 예측하는 것은 다음과 같은 이유로 중요한 과제를 안고 있습니다:

  1. 기존 스케일링 법칙은 일반적으로 특정 벤치마킹 성능이 아닌 다음 마크 예측 손실만 예측합니다.
  2. 스케일링 법칙은 적은 계산 예산을 사용하여 사전 훈련 실행을 기반으로 개발되었기 때문에 잡음이 많고 신뢰할 수 없을 수 있습니다(Wei et al., 2022b).

이러한 문제를 해결하기 위해 저희는 2단계 접근 방식을 구현하여 다운스트림 벤치마킹 성능을 정확하게 예측하는 스케일링 법칙을 개발했습니다:

  1. 먼저 사전 학습 FLOP과 다운스트림 작업에서 최적 모델의 음의 로그 확률 계산 간의 상관관계를 설정합니다.
  2. 다음으로, 스케일링 법칙 모델과 이전에 더 높은 계산 플롭을 사용하여 학습된 이전 모델을 사용하여 다운스트림 작업의 음의 로그 가능성을 작업 정확도와 연관시킵니다. 이 단계에서는 Llama 2 모델 제품군만 사용합니다.

이 접근 방식을 사용하면 사전 학습된 특정 수의 FLOP을 기반으로 다운스트림 작업 성능(계산 최적 모델의 경우)을 예측할 수 있습니다. 사전 학습 데이터 조합을 선택할 때도 비슷한 접근 방식을 사용합니다(3.4절 참조).

스케일링 법률 실험.구체적으로, 6 × 10^18 FLOP에서 10^22 FLOP 사이의 계산 예산을 사용하여 모델을 사전 훈련하여 스케일링 법칙을 구축했습니다. 각 계산 예산에서 40M에서 16B 매개변수 범위의 크기로 모델을 사전 훈련하고 각 계산 예산에서 모델 크기의 일부를 사용했습니다. 이러한 훈련 실행에서는 2,000개의 훈련 단계 내에서 코사인 학습 속도 스케줄링과 선형 워밍업을 사용했습니다. 최대 학습 속도는 모델 크기에 따라 2 × 10^-4에서 4 × 10^-4 사이로 설정했습니다. 코사인 감쇠는 피크 값의 0.1배로 설정했습니다. 각 단계의 가중치 감쇠는 해당 단계의 학습률의 0.1배로 설정했습니다. 각 계산 크기에 대해 250K에서 4M 범위의 고정 배치 크기를 사용했습니다.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

이러한 실험을 통해 그림 2의 IsoFLOPs 곡선이 생성되었습니다. 이 곡선의 손실은 별도의 검증 세트에서 측정되었습니다. 측정된 손실값을 2차 다항식을 사용하여 적합시키고 각 포물선의 최소값을 결정합니다. 이 포물선의 최소값을 해당 사전 학습된 계산 예산 하에서 계산적으로 최적의 모델이라고 합니다.

이렇게 파악한 계산 최적 모델을 사용하여 주어진 계산 예산에 대한 최적의 트레이닝 토큰 수를 예측합니다. 이를 위해 계산 예산 C와 최적의 트레이닝 토큰 수 N(C) 사이에 파워 법칙 관계가 있다고 가정합니다:

N (C) = AC α .

그림 2의 데이터를 사용하여 A와 α를 맞춥니다. (α, A) = (0.53, 0.29)를 구하며, 해당 적합도는 그림 3에 나와 있습니다. 결과 스케일링 법칙을 3.8 × 10 25 FLOP으로 추정하면 402B 매개변수로 모델을 훈련하고 16.55T 토큰을 사용하는 것이 좋습니다.

중요한 관찰 사항은 계산 예산이 증가함에 따라 IsoFLOPs 곡선이 최소값 주변에서 더 평평해진다는 것입니다. 이는 플래그십 모델의 성능이 모델 크기와 훈련 마커 간의 트레이드 오프의 작은 변화에 대해 상대적으로 안정적이라는 것을 의미합니다. 이러한 관찰을 바탕으로 최종적으로 405B 파라미터를 포함하는 플래그십 모델을 훈련하기로 결정했습니다.

다운스트림 작업의 성능 예측.생성된 계산적 최적 모델을 사용하여 벤치마크 데이터 세트에서 주력 모델인 라마 3의 성능을 예측합니다. 먼저 벤치마크에서 정답의 (정규화된) 음의 로그 확률을 훈련 FLOP과 선형적으로 연관시킵니다. 이 분석에서는 위의 데이터 혼합에 대해 10^22 FLOP으로 훈련된 스케일링 법칙 모델만 사용했습니다. 다음으로, 스케일링 법칙 모델과 라마 2 데이터 믹스 및 태거를 사용하여 훈련된 라마 2 모델을 사용하여 로그 확률과 정확도 사이의 S자형 관계를 설정했습니다. (이 실험의 결과는 그림 4의 ARC 챌린지 벤치마크에 나와 있습니다.) 이 2단계 스케일링 법칙 예측(4배수에 걸쳐 추정)은 매우 정확하며, 주력 모델인 라마 3 모델의 최종 성능을 약간 과소평가하는 정도에 불과합니다.

 

 

3.3 인프라, 확장 및 효율성

 

Llama 3 405B 사전 교육을 지원하는 하드웨어 및 인프라에 대해 설명하고 교육 효율성을 개선하는 몇 가지 최적화에 대해 설명합니다.

 

3.3.1 교육 인프라

라마 1과 라마 2 모델은 Meta의 AI 연구 슈퍼클러스터에서 훈련되었습니다(Lee and Sengupta, 2022). 규모를 더 확장하면서 라마 3 훈련은 메타의 프로덕션 클러스터로 마이그레이션되었습니다(Lee et al., 2024). 이 설정은 학습을 확장할 때 매우 중요한 프로덕션 수준의 안정성을 최적화합니다.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

컴퓨팅 리소스: Llama 3 405B는 Meta의 Grand Teton AI 서버 플랫폼을 사용하여 최대 16,000개의 H100 GPU(각각 700W TDP, 80GB HBM3)로 실행됩니다(Matt Bowman, 2022). 각 서버에는 8개의 GPU와 2개의 CPU가 장착되어 있으며, 서버 내에서 8개의 GPU는 NVLink를 통해 연결됩니다. 훈련 작업은 Meta의 글로벌 규모 훈련 스케줄러인 MAST(Choudhury et al., 2024)를 사용하여 스케줄링됩니다.

저장소: 메타의 범용 분산 파일 시스템인 Tectonic(Pan et al., 2021)은 라마 3 사전 훈련용 스토리지 아키텍처를 구축하는 데 사용되었습니다(Battey and Gupta, 2024). 240PB의 스토리지 공간을 제공하며 2TB/s의 지속적 처리량과 7TB/s의 피크 처리량을 지원하는 7,500대의 SSD 장착 서버로 구성되어 있습니다. 주요 과제는 단기간에 스토리지 패브릭을 포화시키는 매우 버스트가 심한 체크포인트 쓰기를 지원하는 것입니다. 체크포인트는 복구 및 디버깅을 위해 GPU당 1MB에서 4GB에 이르는 모델 상태를 저장합니다. 우리의 목표는 체크포인트 중 GPU 일시 정지 시간을 최소화하고 체크포인트 빈도를 높여 복구 후 손실되는 작업량을 줄이는 것입니다.

네트워킹: Llama 3 405B는 Arista 7800 및 Minipack2 OCP(오픈 컴퓨트 프로젝트) 랙 스위치에 기반한 RoCE(RDMA over Converged Ethernet) 아키텍처를 사용합니다. Llama 3 시리즈의 소형 모델은 Nvidia Quantum2 Infiniband 네트워크를 사용하여 트레이닝되었습니다. RoCE와 인피니밴드 클러스터는 모두 GPU 간 400Gbps 링크 연결을 활용합니다. 이 두 클러스터의 기본 네트워크 기술에는 차이가 있지만, 대규모 훈련 워크로드를 처리할 수 있는 동등한 성능을 제공하도록 두 클러스터를 모두 조정했습니다. RoCE 네트워크의 설계에 대한 완전한 소유권을 확보하는 대로 더 자세히 설명해드리겠습니다.

  • 네트워크 토폴로지: 유니티의 RoCE 기반 AI 클러스터에는 3계층 Clos 네트워크를 통해 연결된 24,000개의 GPU(각주 5)가 포함되어 있습니다(Lee et al., 2024). 최하위 계층에서는 각 랙이 16개의 GPU를 호스팅하며, 두 대의 서버에 할당되고 단일 Minipack2 ToR(Top-of-Rack) 스위치를 통해 연결됩니다. 중간 계층에서는 이러한 랙 중 192개가 클러스터 스위치를 통해 연결되어 전체 양방향 대역폭을 갖춘 3,072개의 GPU로 구성된 포드를 형성하여 과잉 가입이 발생하지 않도록 합니다. 최상위 계층에서는 동일한 데이터센터 건물 내의 이러한 포드 8개를 집계 스위치를 통해 연결하여 24,000개의 GPU로 구성된 클러스터를 형성합니다. 그러나 전체 양방향 대역폭을 유지하는 대신 집계 계층의 네트워크 연결은 1:7의 오버서브스크립션 비율을 갖습니다. 모델 병렬 접근 방식(3.3.2절 참조)과 트레이닝 작업 스케줄러(Choudhury et al., 2024)는 모두 네트워크 토폴로지를 인식하도록 최적화되어 파드 간의 네트워크 통신을 최소화하는 것을 목표로 합니다.
  • 로드 밸런싱: 대규모 언어 모델을 학습하면 ECMP(동일 비용 다중 경로) 라우팅과 같은 기존 방법으로는 사용 가능한 모든 네트워크 경로에서 균형을 맞추기 어려운 과중한 네트워크 트래픽이 발생합니다. 이 문제를 해결하기 위해 두 가지 기술을 사용합니다. 첫째, 유니티의 집계 라이브러리는 두 개의 GPU 사이에 하나의 네트워크 흐름이 아닌 16개의 네트워크 흐름을 생성하여 흐름당 트래픽 양을 줄이고 로드 밸런싱을 위해 더 많은 흐름을 제공합니다. 둘째, E-ECMP(Enhanced ECMP) 프로토콜은 RoCE 헤더 패킷의 다른 필드를 해싱하여 서로 다른 네트워크 경로에서 이 16개의 흐름을 효과적으로 균형 있게 분산시킵니다.

Llama 3:一个多功能、开源的 AI 模型系列

  • 혼잡 제어: 유니티는 백본 네트워크에 딥 버퍼 스위치를 사용하여 총체적인 통신 패턴으로 인한 일시적인 혼잡과 버퍼링을 수용합니다(Gangidi et al., 2024). 이를 통해 교육에서 흔히 발생하는 느린 서버로 인한 지속적인 정체와 네트워크 역압의 영향을 제한할 수 있습니다. 마지막으로, E-ECMP를 통한 로드 밸런싱을 개선하면 혼잡 가능성이 크게 줄어듭니다. 이러한 최적화를 통해 데이터 센터 정량화된 혼잡 알림(DCQCN)과 같은 기존의 혼잡 제어 방법 없이도 24,000개의 GPU 클러스터를 성공적으로 실행할 수 있었습니다.

 

3.3.2 모델 스케일업의 병렬 처리

가장 큰 모델의 트레이닝을 확장하기 위해 유니티는 네 가지 병렬 접근 방식을 결합하는 방식인 4D 병렬화를 사용해 모델을 분할합니다. 이 접근 방식은 여러 GPU에 걸쳐 계산을 효과적으로 분산하고 각 GPU의 모델 파라미터, 최적화 상태, 기울기 및 활성화 값이 HBM 내에 적합하도록 보장합니다. 유니티의 4D 병렬 구현(외(2020), Ren 외(2021), Zhao 외(2023b)에 나와 있음)은 모델, 최적화기, 그라데이션을 슬라이스하는 동시에 여러 GPU에서 데이터를 병렬로 처리하고 각 훈련 단계 후에 동기화하는 데이터 병렬화를 구현합니다. 라마 3의 경우 최적화 상태와 그래디언트를 슬라이스하는 데 FSDP를 사용하지만, 모델 슬라이싱의 경우 역방향 통과 시 추가적인 전체 수집 통신을 피하기 위해 순방향 계산 후 다시 슬라이스하지 않습니다.

GPU 활용도.병렬 구성, 하드웨어 및 소프트웨어를 신중하게 조정하여 38-43%의 BF16 모델 FLOPs 활용도(MFU; Chowdhery et al. (2023))를 달성했습니다. 표 4에 표시된 구성은 8K GPU 및 DP=64에서 43%에 비해 16K GPU 및 DP=128에서 MFU가 41%로 떨어진 것은 훈련 중에 글로벌 마커의 수를 일정하게 유지하기 위해 각 DP 그룹의 배치 크기를 줄여야 하기 때문임을 알 수 있습니다. 41%는 훈련 중에 글로벌 토큰의 수를 일정하게 유지하기 위해 각 DP 그룹의 배치 크기를 줄여야 하기 때문입니다.

병렬 개선 작업을 간소화하세요.기존 구현 과정에서 몇 가지 문제에 직면했습니다:

  • 배치 크기 제한.현재 구현은 GPU당 지원되는 배치 크기에 제한을 두어 파이프라인 단계 수로 나눌 수 있어야 합니다. 그림 6의 예에서, 깊이 우선 스케줄링(DFS)(Narayanan et al. (2021))을 위한 파이프라인 병렬화는 N = PP = 4가 필요하지만, 폭 우선 스케줄링(BFS; Lamy-Poirier (2023))은 N = M이 필요합니다. 여기서 M은 총 마이크로배치 수이고 N은 같은 단계의 순방향 또는 역방향 연속되는 마이크로배치 수입니다. 그러나 사전 훈련에는 일반적으로 배치 크기 조정에 유연성이 필요합니다.
  • 메모리 불균형.기존의 파이프라인 병렬 구현은 불균형한 리소스 소비로 이어집니다. 첫 번째 단계에서는 마이크로 배치 임베딩 및 워밍업으로 인해 더 많은 메모리를 소비합니다.
  • 계산이 균형을 이루지 못합니다. 모델의 마지막 레이어 이후에는 출력과 손실을 계산해야 하므로 이 단계는 실행 대기 시간 측면에서 병목 현상이 발생합니다. 여기서 Di는 i번째 병렬 차원의 인덱스입니다. 이 예제에서 GPU0[TP0, CP0, PP0, DP0]와 GPU1[TP1, CP0, PP0, DP0]은 같은 TP 그룹에, GPU0과 GPU2는 같은 CP 그룹에, GPU0과 GPU4는 같은 PP 그룹에, GPU0과 GPU8은 같은 DP 그룹에 속해 있습니다.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

이러한 문제를 해결하기 위해 그림 6과 같이 파이프라인 스케줄링 방식을 수정하여, 각 배치에서 원하는 수의 마이크로배치를 실행할 수 있도록 N(이 경우 N = 5)을 유연하게 설정할 수 있도록 했습니다. 이를 통해 가능합니다:

(1) 배치 크기 제한이 있는 경우 스테이지 수보다 적은 수의 마이크로배치를 실행합니다.

(2) 더 많은 마이크로 배치를 실행하여 피어 투 피어 통신을 숨기고 깊이 우선 스케줄링(DFS)과 폭 우선 스케줄링(BFS) 간에 최적의 통신 및 메모리 효율성을 찾습니다. 파이프라인의 균형을 맞추기 위해 첫 번째 단계와 마지막 단계에서 각각 하나의 트랜스포머 레이어를 줄입니다. 즉, 첫 번째 단계의 첫 번째 모델 블록에는 임베딩 레이어만 있고, 마지막 단계의 마지막 모델 블록에는 출력 투영 및 손실 계산만 있습니다.

파이프라인 거품을 줄이기 위해 V 파이프라인 단계가 있는 파이프라인 계층 구조에서 인터리브 스케줄링 접근 방식(Narayanan et al., 2021)을 사용합니다. 전체 파이프라인 버블 비율은 PP-1 V * M 입니다. 또한 비동기 P2P 통신을 사용하여 특히 문서 마스크가 추가적인 계산 불균형을 초래하는 경우 훈련 속도를 크게 높입니다. 비동기 피어 투 피어 통신으로 인한 메모리 사용량을 줄이기 위해 TORCH_NCCL_AVOID_RECORD_STREAMS를 활성화합니다. 마지막으로, 메모리 비용을 줄이기 위해 상세한 메모리 할당 분석을 기반으로 각 파이프라인 단계의 입력 및 출력 텐서를 포함해 향후 계산에 사용되지 않을 텐서를 사전에 해제합니다. ** 이러한 최적화를 통해 활성화 체크포인트를 사용하지 않고 8K 텐서를 활성화 체크포인트 없이도 수행할 수 있게 되었습니다. 토큰 라마 3 사전 교육용 시퀀스입니다.

컨텍스트 병렬화는 긴 시퀀스에 사용됩니다. 저희는 컨텍스트 병렬화(CP)를 활용하여 라마 3 컨텍스트 길이를 확장할 때 메모리 효율성을 개선하고 최대 128K 길이의 매우 긴 시퀀스를 학습할 수 있도록 합니다. CP에서는 시퀀스 차원을 분할하며, 특히 입력 시퀀스를 2×CP 블록으로 분할하여 각 CP 레벨이 두 개의 블록을 받도록 함으로써 로드 밸런싱을 개선합니다. 째 CP 레벨은 째와 (2 × CP -1 -i) 블록을 받습니다.

 

링 구조에서 통신과 계산을 중복하는 기존 CP 구현(Liu et al., 2023a)과 달리, 저희의 CP 구현은 먼저 키-값(K, V) 텐서를 전역적으로 집계한 다음 로컬 쿼리(Q) 텐서 블록의 주의적 출력을 계산하는 올개더 기반 접근 방식을 사용합니다. 올개더 통신 지연 시간이 임계 경로에 있지만, 이 접근 방식을 채택하는 이유는 크게 두 가지입니다:

(1) 전체 모임 기반 CP 주의에서 문서 마스크와 같은 다양한 유형의 주의 마스크를 지원하는 것이 더 쉽고 유연합니다;

(2) 노출된 올개더 지연 시간은 GQA의 사용으로 인해 통신의 K 텐서와 V 텐서가 Q 텐서보다 훨씬 작기 때문에 작습니다(Ainslie et al., 2023). 그 결과, 주의 계산의 시간 복잡도는 올개더보다 훨씬 더 크기 때문에(O(S²) 대 O(S), 여기서 S는 전체 인과 마스크의 시퀀스 길이를 나타냄) 올개더 오버헤드는 무시할 수 있을 정도로 작아집니다.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

네트워크 인식 병렬 구성.병렬화 차원 [TP, CP, PP, DP]의 순서는 네트워크 통신에 최적화되어 있습니다. 가장 안쪽 병렬화 계층은 가장 높은 네트워크 대역폭과 가장 낮은 지연 시간을 필요로 하므로 일반적으로 동일한 서버 내로 제한됩니다. 가장 바깥쪽 병렬화 계층은 멀티홉 네트워크에 걸쳐 있을 수 있으며 더 높은 네트워크 지연 시간을 견딜 수 있어야 합니다. 따라서 네트워크 대역폭과 지연 시간 요구 사항에 따라 [TP, CP, PP, DP] 순으로 병렬화 차원에 순위를 매기며, DP(즉, FSDP)는 슬라이싱 모델 가중치를 비동기적으로 미리 가져오고 기울기를 줄여 더 긴 네트워크 지연 시간을 견딜 수 있으므로 병렬화의 가장 바깥쪽 계층에 해당합니다. GPU 메모리 오버플로를 피하면서 통신 오버헤드를 최소화하는 최적의 병렬화 구성을 결정하는 것은 어려운 과제입니다. 유니티는 메모리 소비량 추정기와 성능 예측 도구를 개발하여 다양한 병렬화 구성을 탐색하고 전반적인 훈련 성능을 예측하고 메모리 격차를 효율적으로 파악하는 데 도움을 받았습니다.

수치적 안정성.서로 다른 병렬 설정 간의 훈련 손실을 비교하여 훈련 안정성에 영향을 미치는 몇 가지 수치적 문제를 해결합니다. 훈련 수렴을 보장하기 위해 여러 마이크로 배치의 역계산 시 FP32 그라데이션 누적을 사용하고 FSDP에서 데이터 병렬 작업자 간에 FP32를 사용하여 분산 그라데이션을 줄입니다. 비주얼 코더 출력과 같이 순방향 계산에서 여러 번 사용되는 중간 텐서의 경우 역방향 그라데이션도 FP32에 누적됩니다.

 

3.3.3 집단 커뮤니케이션

라마 3의 집단 통신 라이브러리는 NCCLX라는 엔비디아의 NCCL 라이브러리 분기를 기반으로 합니다. NCCLX는 특히 지연 시간이 긴 네트워크에서 NCCL의 성능을 크게 향상시킵니다. 병렬 차원의 순서는 [TP, CP, PP, DP]이며, 여기서 DP는 FSDP에 해당하며, 가장 바깥쪽 병렬 차원인 PP와 DP는 수십 마이크로초의 지연 시간으로 멀티홉 네트워크를 통해 통신할 수 있다는 점을 기억하세요. 원래 NCCL의 올게더와 리스캐터링은 FSDP에 사용되는 반면, 데이터 청킹과 단계적 데이터 복제가 필요한 PP에는 포인트 투 포인트 통신이 사용됩니다. 이 접근 방식은 다음과 같은 비효율성을 초래합니다:

  1. 데이터 전송을 원활하게 하려면 네트워크를 통해 많은 수의 작은 제어 메시지를 교환해야 합니다;
  2. 추가 메모리 복사 작업;
  3. 통신을 위해 추가 GPU 사이클을 사용합니다.

라마 3 훈련의 경우, 대규모 클러스터에서 수십 마이크로초까지 발생할 수 있는 네트워크 지연 시간을 청킹 및 데이터 전송에 적용하여 이러한 비효율성을 일부 해결합니다. 또한 소규모 제어 메시지가 더 높은 우선순위로 네트워크를 통과할 수 있도록 하여 특히 버퍼링이 심한 코어 스위치에서 대기열 차단을 방지합니다.

향후 버전의 Llama에 대한 지속적인 작업에는 위의 모든 문제를 완전히 해결하기 위해 NCCLX에 대한 심층적인 변경이 포함됩니다.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

3.3.4 신뢰성 및 운영상의 과제

16K GPU 트레이닝의 복잡성과 잠재적 장애 시나리오는 우리가 운영해 온 대규모 CPU 클러스터의 그것보다 훨씬 더 큽니다. 또한 훈련의 동기식 특성으로 인해 내결함성이 떨어지기 때문에 단일 GPU 장애가 발생하면 전체 작업을 다시 시작해야 할 수도 있습니다. 이러한 어려움에도 불구하고, 라마 3의 경우 자동화된 클러스터 유지 관리(예: 펌웨어 및 Linux 커널 업그레이드(비그라함 및 레온하디, 2024))를 지원하면서 90%보다 높은 유효 훈련 시간을 달성했으며, 그 결과 하루에 최소 한 번의 훈련 중단이 발생했습니다.

유효 교육 시간은 경과 시간 동안 효과적인 교육에 소요된 시간입니다. 54일간의 사전 교육 스냅샷 기간 동안 총 466회의 운영 중단이 발생했습니다. 이 중 47건은 자동화된 유지 관리 작업(예: 펌웨어 업그레이드 또는 구성 또는 데이터 세트 업데이트와 같은 운영자 주도 작업)으로 인해 계획된 중단이었습니다. 나머지 419건은 예기치 않은 중단으로, 표 5에 분류되어 있습니다. 예상치 못한 중단 중 약 78%는 GPU 또는 호스트 구성 요소 장애와 같은 확인된 하드웨어 문제 또는 조용한 데이터 손상, 계획되지 않은 개별 호스트 유지보수 이벤트와 같은 하드웨어 관련 의심되는 문제로 인해 발생했습니다.GPU 문제는 전체 예상치 못한 문제 중 58.7%를 차지하는 가장 큰 범주였습니다.많은 수의 장애에도 불구하고, 단 세 번의 주요 수동 이 기간 동안 단 세 가지 주요 수동 개입이 필요했으며 나머지 문제는 자동화를 통해 처리되었습니다.

효과적인 훈련 시간을 개선하기 위해 작업 시작 및 체크포인트 시간을 단축하고 신속한 진단 및 문제 해결을 위한 도구를 개발했습니다. 특히 다음과 같은 경우 집합 메타데이터와 스택 추적을 링 버퍼로 캡처하여 중단 및 성능 문제를 대규모로 신속하게 진단할 수 있는 PyTorch의 내장된 NCCL Flight Recorder(Ansel et al., 2024)를 광범위하게 활용했습니다. NCCLX 측면. 이를 통해 각 수집 작업의 통신 이벤트와 기간을 효율적으로 기록하고, NCCLX 감시 또는 하트비트 타임아웃이 발생할 경우 추적 데이터를 자동으로 덤프할 수 있습니다. 온라인 구성 변경(Tang et al., 2015)을 통해 코드 릴리스나 작업 재시작 없이도 보다 계산 집약적인 추적 작업과 메타데이터 수집을 선택적으로 활성화할 수 있습니다. 대규모 트레이닝의 디버깅 문제는 네트워크에서 NVLink와 RoCE를 혼용하여 사용하기 때문에 복잡합니다. 데이터 전송은 일반적으로 CUDA 커널에서 로드/저장 작업을 통해 NVLink를 통해 수행되며, 원격 GPU 또는 NVLink 연결의 장애는 명시적인 오류 코드를 반환하지 않고 CUDA 커널에서 로드/저장 작업의 중단으로 나타나는 경우가 많습니다.NCCLX는 PyTorch와 긴밀하게 설계되어 오류 감지 및 현지화의 속도와 정확성을 개선하여 다음을 수행할 수 있습니다. PyTorch는 NCCLX의 내부 상태에 액세스하고 관련 정보를 추적합니다. NVLink 오류로 인한 멈춤을 완전히 방지할 수는 없지만, 저희 시스템은 통신 라이브러리의 상태를 모니터링하고 이러한 멈춤이 감지되면 자동으로 시간을 초과합니다. 또한 각 NCCLX 통신에 대한 커널 및 네트워크 활동을 추적하고 모든 계층 간의 완료 및 미완료 데이터 전송을 포함하여 장애가 발생한 NCCLX 집합의 내부 상태에 대한 스냅샷을 제공합니다. 이 데이터를 분석하여 NCCLX 확장 문제를 디버깅합니다.

때때로 하드웨어 문제로 인해 정상적으로 작동하지만 감지하기 어려운 느린 지연자가 발생할 수 있습니다. 지연자가 한 명만 있어도 정상적으로 작동하지만 통신 속도가 느려지는 형태로 수천 개의 다른 GPU의 속도를 저하시킬 수 있습니다. 유니티는 일부 프로세스 그룹에서 잠재적으로 문제가 될 수 있는 통신의 우선순위를 지정하는 도구를 개발했습니다. 몇 가지 주요 용의자만 조사하면 낙오자를 효과적으로 식별할 수 있는 경우가 많습니다.

흥미로운 관찰 결과는 대규모 훈련 성능에 대한 환경적 요인의 영향입니다. 라마 3 405B의 경우 시간 변화에 따라 1-2%의 처리량 변동을 발견했습니다. 이러한 변동은 GPU 동적 전압 및 주파수 스케일링에 영향을 미치는 한낮의 높은 기온으로 인해 발생합니다. 훈련 중에는 모든 GPU가 체크포인트 또는 집단 통신이 완료되기를 기다리거나 전체 훈련 작업이 시작 또는 종료되기를 기다리는 등의 이유로 수만 개의 GPU가 동시에 전력 소비를 증가시키거나 감소시킬 수 있습니다. 이런 일이 발생하면 데이터센터 내에서 수십 메가와트 정도의 전력 소비가 일시적으로 변동하여 전력망의 한계가 늘어날 수 있습니다. 이는 향후 더 큰 규모의 라마 모델을 위한 트레이닝을 확장함에 따라 지속적으로 해결해야 할 과제입니다.

 

 

3.4 교육 프로그램

 

라마 3 405B의 사전 교육 레시피에는 세 가지 주요 단계가 있습니다:

(1) 초기 사전 교육, (2) 긴 컨텍스트 사전 교육, (3) 어닐링입니다. 이 세 단계는 각각 아래에 설명되어 있습니다. 8B 및 70B 모델도 유사한 방법을 사용하여 사전 학습합니다.

 

3.4.1 초기 사전 교육

최대 학습률이 8 × 10-⁵인 코사인 학습률 체계를 사용하여 Llama 3 405B 모델을 사전 훈련하고, 8,000스텝까지 선형적으로 워밍업한 후 1,200,000개의 훈련 단계 후에 8 × 10-⁷로 감쇠시켰습니다. 훈련의 안정성을 높이기 위해 훈련 초기에는 작은 배치 크기를 사용하고 이후 효율성을 높이기 위해 배치 크기를 늘립니다. 구체적으로, 처음에는 4백만 개의 토큰과 4,096개의 시퀀스 길이로 배치 크기를 설정하고, 252백만 개의 토큰을 사전 훈련한 후 배치 크기와 시퀀스 길이를 각각 8백만 개와 8,192개로 두 배로 늘립니다. 2.87T 토큰을 사전 훈련한 후 배치 크기를 다시 두 배로 늘려 16백만 개로 늘립니다. 이 훈련 방법은 매우 안정적입니다. 손실 급증이 거의 발생하지 않으며 모델 훈련의 편차를 수정하기 위한 개입이 필요하지 않습니다.

데이터 조합 조정. 훈련 중에 특정 다운스트림 작업에서 모델의 성능을 개선하기 위해 사전 훈련 데이터 조합을 몇 가지 조정했습니다. 특히 라마 3의 다국어 성능을 개선하기 위해 사전 학습 중에 비영어권 데이터의 비중을 높였습니다. 또한 모델의 수학적 추론을 향상시키기 위해 수학적 데이터의 비율을 상향 조정하고, 사전 학습의 후반 단계에서 최신 네트워크 데이터를 추가하여 모델의 지식 차단을 업데이트했으며, 나중에 품질이 낮은 것으로 확인된 데이터의 하위 집합의 비율을 하향 조정했습니다.

 

3.4.2 긴 컨텍스트 사전 교육

사전 학습의 마지막 단계에서는 긴 시퀀스를 학습하여 최대 128,000개의 토큰의 컨텍스트 창을 지원합니다. 자기 주의 계층의 계산이 시퀀스 길이에 따라 4제곱으로 증가하기 때문에 긴 시퀀스는 더 일찍 훈련하지 않습니다. 지원되는 컨텍스트 길이를 점진적으로 늘리고 모델이 증가된 컨텍스트 길이에 성공적으로 적응한 후에 사전 학습을 진행합니다. 두 가지를 모두 측정하여 성공적인 적응을 평가합니다:

(1) 짧은 컨텍스트 평가에서 모델의 성능이 완전히 복구되었는지 여부;

(2) 모델이 이 길이까지 '건초더미에서 바늘 찾기' 과제를 완벽하게 해결할 수 있는지 여부. Llama 3 405B 사전 학습에서는 8,000개의 토큰으로 시작하는 초기 컨텍스트 윈도우에서 시작해 6단계에 걸쳐 컨텍스트 길이를 점진적으로 늘려 최종적으로 128,000개의 토큰에 도달했습니다. 이 긴 컨텍스트 사전 훈련 단계에는 약 8,000억 개의 훈련 토큰이 사용되었습니다.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

3.4.3 어닐링

마지막 4천만 개의 토큰을 사전 학습하는 동안, 128K 토큰의 컨텍스트 길이를 유지하면서 학습 속도를 선형적으로 0으로 어닐링했습니다. 이 어닐링 단계에서는 데이터 믹스를 조정하여 고품질 데이터 소스의 샘플 크기를 늘렸습니다(섹션 3.1.3 참조). 마지막으로, 최종 사전 훈련된 모델을 생성하기 위해 어닐링 중에 모델 체크포인트의 평균(Polyak(1991) 평균)을 계산했습니다.

 

 

4 후속 교육

 

여러 차례의 후속 훈련을 적용하여 라마 3 모델을 생성하고 정렬했습니다. 이러한 후속 훈련은 사전 훈련된 체크포인트를 기반으로 하며 모델 조정을 위한 사람의 피드백을 통합합니다(Ouyang et al., 2022; Rafailov et al., 2024). 후속 훈련의 각 라운드는 감독된 미세 조정(SFT)과 수동 주석 또는 합성을 통해 생성된 예제를 사용한 직접 선호도 최적화(DPO; Rafailov et al., 2024)로 구성됩니다. 이후의 훈련 모델링과 데이터 방법은 각각 섹션 4.1과 4.2에서 설명합니다. 또한 추론, 프로그래밍 기능, 인수 분해, 다국어 지원, 도구 사용, 긴 문맥, 정확한 지침 준수 측면에서 모델을 개선하기 위해 4.3절에서 맞춤형 데이터 대조 전략에 대한 자세한 내용을 제공합니다.

 

4.1 모델링

사후 학습 전략의 기본은 보상 모델과 언어 모델입니다. 먼저 사람이 라벨링한 선호도 데이터를 사용해 사전 훈련 체크포인트 위에 보상 모델을 훈련합니다(4.1.2절 참조). 그런 다음 감독 미세 조정(SFT, 4.1.3절 참조)을 통해 사전 학습 체크포인트를 미세 조정하고 직접 선호도 최적화(DPO, 4.1.4절 참조)를 사용해 체크포인트와 추가로 정렬합니다. 이 프로세스는 그림 7에 나와 있습니다. 달리 명시되지 않는 한, 모델링 프로세스는 Llama 3 405B에 적용되며, 간결성을 위해 Llama 3 405B라고 부릅니다.

 

4.1.1 채팅 대화 형식

인간과 컴퓨터의 상호작용을 위해 대규모 언어 모델(LLM)을 적용하려면 모델이 인간의 명령을 이해하고 대화 작업을 수행할 수 있도록 채팅 대화 프로토콜을 정의해야 합니다. 이전 버전에 비해 Llama 3에는 도구 사용(섹션 4.3.5)과 같은 새로운 기능이 추가되어 한 번의 대화 라운드에서 여러 메시지를 생성하여 다른 위치(예: 사용자, ipython)로 보내야 할 수 있습니다. 이를 지원하기 위해 다양한 특수 헤더 토큰과 종료 토큰을 사용하는 새로운 다중 메시지 채팅 프로토콜을 설계했습니다. 헤더 토큰은 대화에서 각 메시지의 발신지와 수신지를 나타내는 데 사용됩니다. 마찬가지로 종료 마커는 인간과 AI가 서로 말을 바꿀 차례가 되었음을 나타냅니다.

 

4.1.2 보상 모델링

다양한 능력을 포괄하는 보상 모델(RM)을 훈련하고 사전 훈련된 체크포인트 위에 구축했습니다. 훈련 목표는 Llama 2와 동일하지만, 데이터 크기가 커질수록 개선이 감소하는 것을 관찰했기 때문에 손실 함수에서 한계 항을 제거했습니다. 라마 2에서와 마찬가지로 유사한 응답을 가진 샘플을 필터링한 후 모든 선호도 데이터를 보상 모델링에 사용합니다.

주석은 표준(선택됨, 거부됨) 응답 선호도 쌍 외에도 일부 단서에 대해 세 번째 "편집된 응답"을 생성하며, 이 쌍에서 선택된 응답은 개선을 위해 추가로 편집됩니다(4.2.1항 참조). 따라서 각 선호도 정렬 샘플에는 명확한 순위(편집됨>선택됨>거부됨)가 지정된 두세 개의 응답이 있습니다. 훈련 중에는 단서와 여러 개의 응답을 하나의 행으로 연결하고 응답을 무작위화했습니다. 이는 응답을 별도의 행에 배치하여 점수를 계산하는 표준 시나리오의 근사치이지만, 제거 실험에서 이 접근 방식은 정밀도 손실 없이 훈련 효율성을 향상시켰습니다.

 

4.1.3 감독 미세 조정

사람이 라벨링한 단서는 먼저 보상 모델을 사용해 샘플링을 위해 거부되며, 자세한 방법론은 4.2절에 설명되어 있습니다. 이렇게 거부된 샘플링 데이터를 다른 데이터 소스(합성 데이터 포함)와 결합하여 표준 교차 엔트로피 손실을 사용하여 사전 학습된 언어 모델을 미세 조정하고, 목표 마크업을 예측하는 것을 목표로 합니다(큐 마크업의 손실을 마스킹하면서). 데이터 블렌딩에 대한 자세한 내용은 섹션 4.2를 참조하세요. 많은 훈련 대상이 모델에 의해 생성되지만, 이 단계를 지도 미세 조정(SFT, Wei 외. 2022a, Sanh 외. 2022, Wang 외. 2022b)이라고 부릅니다.

최대 모델은 8.5천~9천 단계 내에서 1e-5의 학습률로 미세 조정됩니다. 이러한 하이퍼파라미터 설정은 다양한 라운드와 데이터 혼합에 적합한 것으로 나타났습니다.

 

4.1.4 직접 환경설정 최적화

또한 직접 선호도 최적화(DPO; Rafailov et al., 2024)를 사용하여 인간 선호도 조정을 위한 SFT 모델을 훈련했습니다. 훈련 시에는 주로 이전 정렬 라운드에서 가장 우수한 성과를 보인 모델에서 수집한 최신 선호도 데이터 배치를 사용합니다. 그 결과, 학습 데이터는 각 라운드에서 최적화된 전략 모델의 분포와 더 잘 일치합니다. 또한 PPO와 같은 전략 알고리즘(Schulman et al., 2017)도 살펴봤지만, DPO가 대규모 모델, 특히 IFEval과 같은 명령어 준수 벤치마크에서 계산이 덜 필요하고 더 나은 성능을 보인다는 사실을 발견했습니다(Zhou et al., 2023).

라마 3의 경우 학습 속도를 1e-5로 사용하고 β 하이퍼파라미터를 0.1로 설정했습니다. 또한 DPO에 다음과 같은 알고리즘 수정을 적용했습니다:

  • DPO 손실에서 서식 지정 마커 마스킹. DPO 학습의 안정화를 위해 선택 및 거부된 응답에서 특수 형식 마커(섹션 4.1.1에 설명된 헤더 및 종료 마커 포함)를 마스킹합니다. 이러한 마커가 손실에 관여하면 꼬리 중복이나 갑작스러운 종료 마커 생성 등 원치 않는 모델 동작이 발생할 수 있다는 점에 유의하세요. 이는 선택된 반응과 거부된 반응 모두에 공통 마커가 존재하면 모델이 이러한 마커의 가능성을 동시에 높이거나 낮춰야 하기 때문에 학습 목표가 상충될 수 있기 때문이라는 가설을 세우고 있습니다.
  • NLL 손실을 사용한 정규화 선택된 서열에 0.2의 스케일링 계수를 사용하여 음의 로그 가능성(NLL) 손실 항을 추가했으며, 이는 Pang 등(2024)과 유사합니다. 이는 생성에 필요한 형식을 유지하고 선택된 응답의 로그 가능성이 감소하는 것을 방지하여 DPO 훈련을 더욱 안정화시키는 데 도움이 됩니다(Pang et al., 2024; Pal et al., 2024).

 

4.1.5 모델 평균화

마지막으로, 각 RM, SFT, DPO 단계에서 다양한 데이터 버전 또는 하이퍼파라미터를 사용해 실험에서 얻은 모델을 평균화했습니다(Izmailov 외. 2019; Wortsman 외. 2022; Li 외. 2022). 라마 3 컨디셔닝에 사용된 내부적으로 수집된 인간 선호도 데이터에 대한 통계 정보를 제시합니다. 평가자에게 모델과 여러 차례 대화를 나누도록 요청하고 각 라운드의 응답을 비교했습니다. 후처리 과정에서 각 대화를 여러 개의 예시로 나누었으며, 각 대화에는 프롬프트(가능한 경우 이전 대화 포함)와 응답(예: 선택 또는 거부된 응답)이 포함되었습니다.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

4.1.6 반복 라운드

라마 2에 이어, 위의 방법론을 6번의 반복에 적용했습니다. 각 라운드마다 새로운 선호도 라벨링 및 미세 조정(SFT) 데이터를 수집하고 최신 모델에서 합성 데이터를 샘플링했습니다.

 

4.2 교육 후 데이터

학습 후 데이터의 구성은 언어 모델의 유용성과 동작에 중요한 역할을 합니다. 이 섹션에서는 어노테이션 절차 및 선호도 데이터 수집(4.2.1절), SFT 데이터의 구성(4.2.2절), 데이터 품질 관리 및 정리 방법(4.2.3절)에 대해 설명합니다.

 

4.2.1 기본 설정

선호도 데이터 라벨링 프로세스는 Llama 2와 유사합니다. 각 라운드가 끝나면 주석을 달기 위해 여러 모델을 배포하고 각 사용자 단서에 대해 서로 다른 모델에서 두 개의 응답을 샘플링합니다. 이러한 모델은 서로 다른 데이터 혼합 및 정렬 체계를 사용하여 훈련할 수 있으므로 서로 다른 기능의 강점(예: 코드 전문성)과 데이터 다양성을 높일 수 있습니다. 저희는 어노테이터에게 선호도에 따라 선호도 점수를 매우 좋음, 좋음, 약간 좋음, 약간 좋음의 네 가지 수준 중 하나로 분류하도록 요청했습니다.

또한 선호도 순서 지정 후 편집 단계를 추가하여 주석 작성자가 선호 응답을 더욱 세분화할 수 있도록 했습니다. 주석 작성자는 선택한 응답을 직접 편집하거나 피드백 단서 모델을 사용하여 자신의 응답을 구체화할 수 있습니다. 그 결과 일부 기본 설정 데이터에는 세 가지 정렬된 응답이 있습니다(편집 > 선택 > 거부).

라마 3 훈련에 사용한 선호도 주석 통계는 표 6에 나와 있습니다. 일반 영어는 특정 능력의 범위를 벗어나는 지식 기반 질문과 답변 또는 정확한 지시 사항 따라하기와 같은 여러 하위 범주를 포함합니다. 라마 2에 비해 프롬프트와 응답의 평균 길이가 증가하여 라마 3가 더 복잡한 작업에 대해 훈련하고 있음을 알 수 있으며, 수집된 데이터를 비판적으로 평가하기 위해 품질 분석 및 수동 평가 프로세스를 구현하여 프롬프트를 개선하고 주석가에게 체계적이고 실행 가능한 피드백을 제공할 수 있었습니다. 예를 들어, 각 라운드마다 라마 3가 개선됨에 따라 모델이 뒤처지는 영역을 대상으로 단서의 복잡도를 높입니다.

각 후기 훈련 라운드에서 보상 모델링에는 당시 사용 가능한 모든 선호도 데이터를 사용하고, DPO 훈련에는 각 기능의 가장 최근 배치만 사용합니다. 보상 모델링과 DPO 모두에서 "선택 응답이 훨씬 더 좋음 또는 더 좋음"으로 표시된 샘플로 훈련하고 유사한 응답을 가진 샘플은 폐기합니다.

 

4.2.2 SFT 데이터

미세 조정 데이터는 주로 다음 소스에서 가져옵니다:

  • 수동으로 주석을 단 컬렉션의 단서 및 샘플링 응답 거부
  • 특정 기능에 대한 합성 데이터(자세한 내용은 섹션 4.3 참조)
  • 소량의 수동 레이블이 지정된 데이터(자세한 내용은 4.3절 참조)

훈련 후 주기를 진행하면서 더 강력한 라마 3의 변형을 개발했고, 이를 사용해 더 큰 데이터 세트를 수집하여 다양하고 복잡한 기능을 포괄할 수 있게 되었습니다. 이 섹션에서는 거부 샘플링 프로세스의 세부 사항과 최종 SFT 데이터 혼합의 전반적인 구성에 대해 설명합니다.

샘플 거부.거부 샘플링(RS)에서는 수동 주석(4.2.1절)을 하는 동안 수집하는 각 단서에 대해 가장 최근의 채팅 모델링 전략(일반적으로 이전 학습 후 반복에서 가장 좋은 실행 체크포인트 또는 특정 역량에 대한 최고의 실행 체크포인트)에서 K개의 출력을 샘플링하고 보상 모델을 사용하여 Bai 등(2022)에 따라 최적의 후보를 선정합니다. 사후 훈련의 후반 단계에서는 시스템 단서를 도입하여 RS 응답이 원하는 어조, 스타일 또는 형식에 따르도록 안내하며, 이는 능력에 따라 달라질 수 있습니다.

거부 샘플링의 효율성을 높이기 위해 PagedAttention을 사용합니다(권 외, 2023). PagedAttention은 동적 키-값 캐시 할당을 통해 메모리 효율성을 향상시킵니다. 현재 캐시 용량에 따라 요청을 동적으로 스케줄링하여 임의의 출력 길이를 지원합니다. 하지만 안타깝게도 메모리가 부족할 때 스왑의 위험이 발생합니다. 이러한 스왑 오버헤드를 없애기 위해 최대 출력 길이를 정의하고 해당 길이의 출력을 저장하기에 충분한 메모리가 있는 경우에만 요청을 실행합니다. 또한 pagedAttention을 사용하면 힌트된 키-값 캐시 페이지를 모든 해당 출력에서 공유할 수 있습니다. 그 결과 전체적으로 거부 샘플링 중 처리량이 2배 이상 증가했습니다.

집계 데이터 구성.표 7은 '유용성' 조합의 광범위한 데이터 범주 각각에 대한 통계를 보여줍니다. SFT와 선호도 데이터는 중복되는 도메인을 포함하지만, 큐레이션 방식이 다르기 때문에 통계 수치가 달라집니다. 4.2.3절에서는 데이터 샘플의 주제, 복잡성 및 품질을 분류하는 데 사용된 기법에 대해 설명합니다. 사후 훈련의 각 라운드에서는 다양한 벤치마크에 대해 여러 축에 걸쳐 성능을 조정하기 위해 전체 데이터 믹스를 신중하게 조정합니다. 최종 데이터 혼합은 특정 고품질 소스에 대해서는 여러 번 반복되고 다른 소스에 대해서는 다운샘플링됩니다.

Llama 3:一个多功能、开源的 AI 模型系列

 

4.2.3 데이터 처리 및 품질 관리

대부분의 학습 데이터가 모델 생성 데이터라는 점을 고려할 때 세심한 정리와 품질 관리가 필요합니다.

데이터 정리: 초기 단계에서는 이모티콘이나 느낌표의 과도한 사용과 같은 원치 않는 패턴이 데이터에서 많이 발견되었습니다. 따라서 문제가 되는 데이터를 필터링하거나 제거하기 위해 일련의 규칙 기반 데이터 삭제 및 수정 전략을 구현했습니다. 예를 들어, 과도한 사과 억양 문제를 완화하기 위해 "죄송합니다" 또는 "사과합니다"와 같이 과도하게 사용되는 문구를 식별하고 데이터 세트에서 이러한 샘플의 비율을 신중하게 조정했습니다.

데이터 정리: 또한 품질이 낮은 훈련 샘플을 제거하고 전반적인 모델 성능을 개선하기 위해 다양한 모델 기반 기술을 적용합니다:

  • 주제 분류: 먼저 Llama 3 8B를 주제 분류기로 미세 조정하고 모든 데이터를 추론하여 거친 범주("수학적 추론")와 세분화된 범주("기하학 및 삼각함수")로 분류했습니다.
  • 품질 평가: 보상 모델과 라마 기반 신호를 사용하여 각 샘플에 대한 품질 점수를 얻었습니다. RM 기반 점수의 경우, 가장 높은 사분위수 점수를 받은 데이터를 고품질 데이터로 간주했습니다. Llama 기반 점수의 경우, Llama 3 체크포인트에서 일반 영어 데이터는 3단계(정확성, 지시 준수, 어조/표현)로, 코드 데이터는 2단계(오류 인식 및 사용자 의도)로 점수를 매기고 가장 높은 점수를 받은 샘플을 고품질 데이터로 간주했습니다. RM과 라마 기반 점수는 충돌률이 높았으며, 이러한 신호를 결합하면 내부 테스트 세트에 대한 최고의 리콜을 얻을 수 있다는 사실을 발견했습니다. 궁극적으로 RM 또는 Llama 기반 필터에 의해 고품질로 분류된 예시를 선택합니다.
  • 난이도 등급: 더 복잡한 모델 예제의 우선순위를 정하는 데도 관심이 있었기 때문에, 두 가지 난이도 지표인 Instag(Lu et al., 2023)와 Llama 기반 점수를 사용해 데이터에 점수를 매겼습니다. Instag의 경우, 더 많은 의도가 더 높은 복잡성을 의미하는 SFT 단서에 대한 의도 라벨링을 수행하도록 Llama 3 70B에 요청했습니다. 또한 라마 3에 세 가지 수준에서 대화의 난이도를 측정하도록 요청했습니다(Liu et al., 2024c).
  • 시맨틱 강조 해제: 마지막으로 의미론적 중복 제거를 수행합니다(Abbas et al., 2023; Liu et al., 2024c). 먼저 RoBERTa(Liu et al., 2019b)를 사용해 완성된 대화를 클러스터링하고 각 클러스터에서 품질 점수 × 난이도 점수를 기준으로 정렬합니다. 그런 다음 정렬된 모든 예제를 반복하여 지금까지 클러스터에 표시된 예제와의 최대 코사인 유사성이 임계값보다 작은 예제만 유지하면서 탐욕적인 선택을 수행합니다.

 

4.3 용량

특히 코드 처리(4.3.1절), 다국어 사용(4.3.2절), 수학 및 추론 능력(4.3.3절), 긴 맥락 파악(4.3.4절), 도구 사용(4.3.5절), 사실성(4.3.6절), 통제력(4.3.7절) 등 특정 역량을 강화하기 위한 노력 중 일부를 강조하고 있습니다.

 

4.3.1 코드

이후(시간) 부조종사 와 Codex(Chen et al., 2021)가 출시되면서 코드용 LLM이 많은 관심을 받고 있습니다. 이제 개발자들은 코드 스니펫 생성, 디버깅, 작업 자동화, 코드 품질 개선에 이러한 모델을 광범위하게 사용하고 있습니다. Llama 3의 목표는 다음과 같은 우선 순위 프로그래밍 언어에 대한 코드 생성, 문서화, 디버깅 및 검토 기능을 개선하고 평가하는 것입니다: Python, Java, JavaScript, C/C++, TypeScript, Rust, PHP, HTML/CSS, SQL 및 bash/shell.여기서는 다음과 같은 방법으로 얻은 결과를 제시합니다. 코드 전문가 교육, SFT용 합성 데이터 생성, 시스템 프롬프트를 통한 개선된 포맷으로의 전환, 이러한 코딩 기능을 개선하기 위해 훈련 데이터에서 불량 샘플을 제거하는 품질 필터를 생성하여 얻은 결과를 소개합니다.

전문가 교육.저희는 코드 전문가를 훈련시키고 이후 여러 차례의 사후 훈련에서 이를 활용하여 고품질의 인간 코드 주석을 수집했습니다. 이는 기본 사전 훈련에서 분기하여 주로 (>85%) 코드 데이터인 1T 토큰의 혼합에 대한 사전 훈련을 계속함으로써 달성할 수 있었습니다. 도메인별 데이터에 대한 지속적인 사전 학습은 특정 도메인에서 성능을 개선하는 데 효과적인 것으로 나타났습니다(Gururangan et al., 2020). 저희는 CodeLlama와 유사한 방법을 따릅니다(Rozière et al., 2023). 마지막 수천 단계의 훈련에서는 저장소 수준 코드 데이터의 고품질 혼합에 대해 LCFT(긴 컨텍스트 미세 조정)를 수행하여 전문가의 컨텍스트 길이를 16K 토큰으로 확장합니다. 마지막으로, 4.1절에서 설명한 유사한 학습 후 모델링 레시피를 따라 모델을 정렬하지만, 주로 코드에 특화된 SFT와 DPO 데이터를 혼합하여 사용합니다. 이 모델은 코딩 단서의 거부 샘플링에도 사용됩니다(섹션 4.2.2).

합성 데이터 생성.개발 과정에서 지침을 따르기 어려움, 코드 구문 오류, 잘못된 코드 생성, 오류 수정의 어려움 등 코드 생성의 주요 문제점을 확인했습니다. 이론적으로는 사람이 직접 주석을 달면 이러한 문제를 해결할 수 있지만, 합성 데이터 생성은 더 저렴하고 확장성이 뛰어나며 주석 작성자의 전문 지식 수준에 제한을 받지 않는 보완적인 접근 방식을 제공합니다.

따라서 저희는 라마 3와 코드 전문가를 사용하여 대량의 합성 SFT 대화를 생성했습니다. 여기에서는 합성 코드 데이터를 생성하는 세 가지 높은 수준의 방법을 설명합니다. SFT 기간 동안 전체적으로 270만 개 이상의 합성 예제를 사용했습니다.

1. 합성 데이터 생성: 피드백 구현8B 및 70B 모델은 더 크고 유능한 모델에서 생성된 훈련 데이터에서 상당한 성능 향상을 보여줍니다. 그러나 예비 실험에 따르면 자체 생성 데이터로만 Llama 3 405B를 훈련하는 것은 도움이 되지 않거나 심지어 성능이 저하되는 것으로 나타났습니다. 이러한 한계를 극복하기 위해 유니티는 모델이 실수를 통해 학습하고 올바른 방향으로 나아갈 수 있도록 실행 피드백을 도입했습니다. 특히 다음 절차를 사용하여 약 100만 개의 합성 코드 대화로 구성된 데이터 세트를 생성합니다:

  • 문제 설명 생성:먼저 다양한 주제(롱테일 분포 포함)를 다루는 대규모 프로그래밍 문제 설명 세트를 생성했습니다. 이러한 다양성을 확보하기 위해 다양한 소스에서 무작위로 코드 조각을 샘플링하고 모델에 이러한 예제를 기반으로 프로그래밍 문제를 생성하도록 유도했습니다. 이를 통해 광범위한 주제를 활용하고 포괄적인 문제 설명을 만들 수 있었습니다(Wei et al., 2024).
  • 솔루션 생성:그런 다음 라마 3에게 주어진 프로그래밍 언어로 각 문제를 해결하라는 메시지를 표시했습니다. 프롬프트에 좋은 프로그래밍 규칙을 추가하면 생성된 솔루션의 품질이 향상되는 것을 관찰했습니다. 또한 모델에 주석을 달아 사고 과정을 설명하도록 요청하는 것이 도움이 된다는 것을 알게 되었습니다.
  • 정확도 분석: 솔루션을 생성한 후에는 그 정확성이 보장되지 않으며 미세 조정된 데이터 세트에 잘못된 솔루션을 포함하면 모델의 품질이 저하될 수 있다는 점을 인식하는 것이 중요합니다. 완전한 정확성을 보장할 수는 없지만, 정확성에 근접하는 방법을 개발했습니다. 이를 위해 생성된 솔루션에서 추출한 소스 코드를 가져와 정적 및 동적 분석 기법을 조합하여 정확성을 테스트합니다:
    • 정적 분석: 생성된 모든 코드를 구문 분석기와 코드 검사 도구를 통해 실행하여 구문 오류, 초기화되지 않은 변수 또는 가져오지 않은 함수 사용, 코드 스타일 문제, 유형 오류 등을 잡아내어 구문 정확성을 확인합니다.
    • 단위 테스트 생성 및 실행: 각 문제와 솔루션에 대해 모델에 단위 테스트를 생성하고 컨테이너화된 환경에서 솔루션으로 실행하여 런타임 실행 오류와 일부 시맨틱 오류를 포착하도록 유도합니다.
  • 오류 피드백 및 반복적인 자체 수정: 어느 단계에서든 솔루션이 실패하면 모델에 수정하라는 메시지가 표시됩니다. 이 프롬프트에는 원래 문제 설명, 잘못된 솔루션, 파서/코드 검사 도구/테스트 프로그램의 피드백(표준 출력, 표준 오류 및 반환 코드)이 포함됩니다. 단위 테스트 실행 실패 후 모델은 기존 테스트를 통과하도록 코드를 수정하거나 생성된 코드에 맞게 단위 테스트를 수정할 수 있습니다. 모든 검사를 통과한 대화만 감독형 미세 조정(SFT)을 위한 최종 데이터 세트에 포함됩니다. 특히, 약 20%의 솔루션이 처음에는 잘못되었지만 자체적으로 수정된 것으로 나타났는데, 이는 모델이 실행 피드백을 통해 학습하여 성능을 개선했음을 시사합니다.
  • 미세 조정 및 반복적인 개선: 미세 조정 프로세스는 여러 라운드에 걸쳐 진행되며, 각 라운드는 이전 라운드를 기반으로 합니다. 각 미세 조정 라운드가 끝나면 다음 라운드를 위해 더 높은 품질의 합성 데이터를 생성하도록 모델을 개선합니다. 이 반복적인 프로세스를 통해 모델 성능을 점진적으로 개선하고 향상시킬 수 있습니다.

 

2. 합성 데이터 생성: 프로그래밍 언어 번역. 주요 프로그래밍 언어(예: Python/C++)와 덜 일반적인 프로그래밍 언어(예: Typescript/PHP) 간에 성능 격차가 있는 것으로 나타났습니다. 이는 덜 일반적인 프로그래밍 언어에 대한 학습 데이터가 적기 때문에 당연한 결과입니다. 이를 완화하기 위해 일반적인 프로그래밍 언어의 데이터를 덜 일반적인 언어로 번역하여 사용 가능한 데이터를 보완할 것입니다(추론 분야의 Chen et al.(2023)과 유사). 이는 라마 3에 프롬프트하고 구문 분석, 컴파일 및 실행을 통해 품질을 보장함으로써 달성할 수 있습니다. 그림 8은 Python에서 번역된 합성 PHP 코드의 예를 보여줍니다. 이는 MultiPL-E(Cassano et al., 2023) 벤치마크로 측정한 덜 일반적인 언어의 성능을 크게 향상시킵니다.

3. 합성 데이터 생성: 역번역. 실행 피드백의 정보량이 품질을 판단하기에 불충분한 특정 코딩 기능(예: 문서화, 해석)을 개선하기 위해 또 다른 다단계 접근 방식을 사용합니다. 이 프로세스를 사용하여 코드 해석, 생성, 문서화 및 디버깅과 관련된 약 120만 개의 합성 대화를 생성했습니다. 사전 학습 데이터에서 다양한 언어로 된 코드 스니펫부터 시작합니다:

 

Llama 3:一个多功能、开源的 AI 模型系列

 

Llama 3:一个多功能、开源的 AI 模型系列

 

  • 생성: 코드 스니펫에 주석과 문서화 문자열을 추가하거나 모델에 코드 해석을 요청하는 등 대상 기능을 나타내는 데이터를 생성하도록 Llama 3에 요청했습니다(예: 코드 조각에 주석 및 문서화 문자열 추가).
  • 역번역. 모델에 합성 생성된 데이터를 원래 코드로 다시 '역번역'하라는 메시지를 표시합니다(예: 모델에 문서에서 코드만 생성하라는 메시지를 표시하거나 모델에 설명에서 코드만 생성하도록 요청하는 경우).
  • 필터링. 원본 코드를 참조로 사용하여 라마 3에게 출력의 품질을 판단하라는 메시지를 표시합니다(예: 역번역된 코드가 원본 코드에 얼마나 충실한지 모델에 묻습니다). 그런 다음 SFT에서 자체 검증 점수가 가장 높은 생성된 예제를 사용합니다.

샘플 거부를 위한 시스템 프롬프트 가이드입니다. 거부 샘플링 중에 코드별 시스템 단서를 사용하여 코드의 가독성, 문서화, 완전성 및 구체성을 개선합니다. 섹션 7에서 이 데이터가 언어 모델을 미세 조정하는 데 사용된다는 점을 기억하세요. 그림 9는 시스템 힌트가 생성된 코드의 품질을 개선하는 데 어떻게 도움이 되는지 보여주는 예시로, 필요한 주석을 추가하고, 보다 유익한 변수 이름을 사용하고, 메모리를 절약하는 등의 작업을 수행합니다.

실행 및 모델을 루브릭으로 사용하여 학습 데이터를 필터링합니다. 4.2.3절에서 설명한 바와 같이, 거부 샘플링 데이터에서 잘못된 코드 블록이 포함되는 등의 품질 문제가 가끔 발생했습니다. 거부 샘플링 데이터에서 이러한 문제를 탐지하는 것은 합성 코드 데이터를 탐지하는 것만큼 간단하지 않습니다. 거부 샘플링 응답에는 자연어와 항상 실행 가능하지 않을 수 있는 코드가 혼합되어 있는 경우가 많기 때문입니다. (예를 들어, 사용자 프롬프트는 실행 파일의 아주 작은 부분만 편집하거나 의사 코드를 명시적으로 요청할 수 있습니다.) 이 문제를 해결하기 위해 저희는 "모델로서의 판사" 접근 방식을 사용하여 이전 버전의 Llama 3을 평가하고 코드 정확성과 코드 스타일이라는 두 가지 기준에 따라 이진(0/1) 점수를 할당합니다. 만점인 2점을 받은 샘플만 유지되었습니다. 처음에는 이러한 엄격한 필터링으로 인해 주로 까다로운 힌트가 있는 샘플이 불균형하게 제거되어 다운스트림 벤치마크 성능이 저하되는 결과를 초래했습니다. 이를 해결하기 위해 가장 까다로운 코딩 데이터로 분류된 일부 응답을 전략적으로 수정하여 라마 기반의 '판사로서의 모델' 기준을 충족할 때까지 수정했습니다. 이러한 까다로운 문제를 개선함으로써 코딩된 데이터는 품질과 난이도의 균형을 맞춰 최적의 다운스트림 성능을 달성할 수 있었습니다.

 

4.3.2 다국어 지원

이 섹션에서는 더 많은 다국어 데이터에 특화된 전문가 모델 훈련, 독일어, 프랑스어, 이탈리아어, 포르투갈어, 힌디어, 스페인어, 태국어에 대한 다국어 명령어의 고품질 미세 조정 데이터 소싱 및 생성, 모델의 전반적인 성능 향상을 위한 다국어 부트스트랩의 특정 과제 해결 등 Llama 3의 다국어 기능을 개선한 방법에 대해 설명합니다.

전문가 교육.라마 3의 사전 학습 데이터 믹스에는 영어 토큰이 비영어 토큰보다 훨씬 더 많이 포함되어 있습니다. 더 높은 품질의 비영어권 사람 주석을 수집하기 위해, 사전 학습을 분기하고 90% 다국어 토큰이 포함된 데이터 믹스에 대한 사전 학습을 계속하여 다국어 전문가 모델을 학습시킵니다. 그런 다음 4.1절에 설명된 대로 이 전문가 모델을 사후 학습합니다. 그런 다음 이 전문가 모델을 사용하여 사전 학습이 완전히 완료될 때까지 더 높은 품질의 비영어권 사람 주석을 수집합니다.

다국어 데이터 수집.당사의 다국어 SFT 데이터는 주로 다음 소스에서 제공됩니다. 전체 분포는 2.41 TP3T의 인간 주석, 44.21 TP3T의 기타 NLP 작업 데이터, 18.81 TP3T의 거부 샘플링 데이터, 34.61 TP3T의 번역 추론 데이터입니다.

  • 수동 주석:언어학자와 원어민으로부터 고품질의 수동 주석이 달린 데이터를 수집합니다. 이러한 주석은 주로 실제 사용 사례를 나타내는 개방형 단서로 구성됩니다.
  • 다른 NLP 작업의 데이터:추가 향상을 위해 다른 작업의 다국어 학습 데이터를 사용하여 대화 형식으로 다시 작성합니다. 예를 들어, exams-qa(Hardalov 외., 2020) 및 Conic10k(Wu 외., 2023)의 데이터를 사용합니다. 언어 정렬을 개선하기 위해 GlobalVoices(Prokopidis et al., 2016)와 위키미디어(Tiedemann, 2012)의 병렬 텍스트도 사용합니다. 품질이 낮은 데이터를 제거하기 위해 LID 기반 필터링과 Blaser 2.0(Seamless Communication et al., 2023)을 사용했습니다. 병렬 텍스트 데이터의 경우, 이중 텍스트 쌍을 직접 사용하는 대신 번역 및 언어 학습 시나리오에서 실제 대화를 더 잘 시뮬레이션하기 위해 Wei 등(2022a)에서 영감을 얻은 다국어 템플릿을 적용했습니다.
  • 샘플링 데이터를 거부합니다:영어 데이터에 대한 프로세스에 비해 거의 수정하지 않고도 미세 조정을 위한 고품질 샘플을 생성하기 위해 사람이 주석한 단서에 거부 샘플링을 적용했습니다:
    • 세대: 교육 후 초기 라운드에서 0.2-1 범위의 온도 하이퍼파라미터를 무작위로 선택하여 세대를 다양화했습니다. 높은 온도를 사용하면 다국어 단서에 대한 반응이 창의적이고 영감을 줄 수 있지만 불필요하거나 부자연스러운 코드 전환이 발생할 수 있습니다. 사후 훈련의 마지막 단계에서는 이러한 균형을 맞추기 위해 0.6이라는 상수 값을 사용했습니다. 또한 응답 서식, 구조 및 일반적인 가독성을 개선하기 위해 특수한 시스템 단서를 사용했습니다.
    • 선택: 보상 모델 기반 선택에 앞서, 프롬프트와 응답 간의 언어적 일치율을 높이기 위해 다국어별 검사를 구현했습니다(예: 로마자로 표기된 힌디어 프롬프트는 힌디어 산스크리트 문자를 사용하여 응답해서는 안 됨).
  • 번역 데이터:기계 번역 데이터를 사용하여 모델을 미세 조정함으로써 번역된 영어(Bizzoni 외, 2020; Muennighoff 외, 2023)나 가능한 이름 편향(Wang 외, 2022a), 성별 편향(Savoldi 외, 2021) 또는 문화적 편향(Ji 외, 2023)의 출현을 방지하기 위해 노력했습니다. . 또한, 우리는 모델이 영어권 문화적 맥락에 뿌리를 둔 과제에만 노출되어 우리가 포착하고자 하는 언어적, 문화적 다양성을 대표하지 못할 수 있는 것을 방지하고자 했습니다. 이에 예외를 두어 비영어권 언어의 정량적 추론 성능을 개선하기 위해 합성된 정량적 추론 데이터(자세한 내용은 섹션 4.3.3 참조)를 비영어권 언어로 번역했습니다. 이러한 수학 문제의 언어가 단순하기 때문에 번역된 샘플에는 품질 문제가 거의 없는 것으로 나타났습니다. 이 번역된 데이터를 MGSM에 추가함으로써 상당한 이득을 얻을 수 있었습니다(Shi et al., 2022).

 

4.3.3 수학과 추론

추론은 여러 단계의 계산을 수행하여 올바른 최종 답에 도달하는 능력으로 정의합니다.

수학적 추론에 탁월한 모델을 훈련하기 위해 몇 가지 과제를 해결해야 했습니다:

  • 팁이 부족합니다. 문제 복잡도가 증가함에 따라 지도 미세 조정(SFT)에 유효한 단서 또는 문제의 수가 감소합니다. 이러한 희소성으로 인해 모델에 다양한 수학적 기술을 가르치기 위한 다양하고 대표적인 학습 데이터세트를 생성하기가 어렵습니다(Yu 외. 2023; Yue 외. 2023; Luo 외. 2023; Mitra 외. 2024; Shao 외. 2024; Yue 외. 2024b).
  • 실제 추론 과정의 부족. 효과적인 추론을 위해서는 추론 과정을 촉진하기 위한 단계별 솔루션이 필요합니다(Wei et al., 2022c). 그러나 문제를 점진적으로 분해하고 최종 해답에 도달하는 방법에 대해 모델을 안내하는 데 필수적인 현실적인 추론 프로세스가 부족한 경우가 많습니다(Zelikman et al., 2022).
  • 중간 단계가 잘못되었습니다. 모델 생성 추론 체인을 사용할 때 중간 단계가 항상 정확하지 않을 수 있습니다(Cobbe 외. 2021, Uesato 외. 2022, Lightman 외. 2023, Wang 외. 2023a). 이러한 부정확성은 부정확한 최종 답변으로 이어질 수 있으므로 해결해야 합니다.
  • 외부 도구를 사용하여 모델을 훈련합니다. 코드 인터프리터와 같은 외부 도구를 활용할 수 있도록 모델을 강화하면 코드와 텍스트를 결합하여 추론할 수 있습니다(Gao 외. 2023; Chen 외. 2022; Gou 외. 2023). 이러한 능력은 문제 해결 능력을 크게 향상시킬 수 있습니다.
  • 교육과 추론의 차이점 훈련 중에 모델을 미세 조정하는 방식은 일반적으로 추론 중에 모델을 사용하는 방식과 다릅니다. 추론 중에 미세 조정된 모델은 사람 또는 다른 모델과 상호 작용할 수 있으며 추론을 개선하기 위해 피드백이 필요할 수 있습니다. 추론 성능을 유지하려면 훈련과 실제 애플리케이션 간의 일관성을 보장하는 것이 중요합니다.

이러한 문제를 해결하기 위해 다음과 같은 방법론을 적용합니다:

  • 단서 부족 해결. 수학적 맥락에서 관련 사전 학습 데이터를 가져와 감독 미세 조정에 사용할 수 있는 질문과 답변 형식으로 변환합니다. 또한 모델이 제대로 수행하지 못하는 수학적 기술을 파악하고 인간으로부터 단서를 적극적으로 수집하여 모델에 이러한 기술을 가르칩니다. 이 과정을 용이하게 하기 위해 수학적 기술의 분류체계(Didolkar et al., 2024)를 만들고 인간에게 해당 프롬프트/질문을 제공하도록 요청합니다.
  • 단계적 추론 단계로 학습 데이터 보강하기. 라마 3을 사용하여 일련의 단서에 대한 단계별 솔루션을 생성합니다. 각 프롬프트에 대해 모델은 다양한 수의 생성된 결과를 생성합니다. 이렇게 생성된 결과는 정답을 기준으로 필터링됩니다(Li et al., 2024a). 또한 자체 검증을 수행하여 특정 단계별 솔루션이 주어진 문제에 대해 유효한지 확인하는 데 Llama 3을 사용합니다. 이 프로세스는 모델이 유효한 추론 궤적을 생성하지 못하는 경우를 제거하여 미세 조정된 데이터의 품질을 향상시킵니다.
  • 잘못된 추론 단계 필터링하기. 결과와 단계적 보상 모델(Lightman et al., 2023; Wang et al., 2023a)을 훈련하여 잘못된 중간 추론 단계가 있는 훈련 데이터를 필터링합니다. 이러한 보상 모델은 단계적 추론이 잘못된 데이터를 제거하는 데 사용되며, 미세 조정을 통해 고품질 데이터를 얻을 수 있도록 합니다. 더 까다로운 단서의 경우, 학습된 단계적 보상 모델과 함께 몬테카를로 트리 검색(MCTS)을 사용하여 유효한 추론 궤적을 생성함으로써 고품질 추론 데이터의 수집을 더욱 향상시킵니다(Xie et al., 2024).
  • 코드와 텍스트 추론의 결합. 라마 3는 텍스트 추론과 관련 Python 코드의 조합을 통해 추론 문제를 해결할 것을 제안합니다(Gou et al., 2023). 코드 실행은 추론 체인이 유효하지 않은 경우를 제거하고 추론 과정의 정확성을 보장하기 위한 피드백 신호로 사용됩니다.
  • 피드백과 실수로부터 배우기. 인간의 피드백을 시뮬레이션하기 위해 잘못된 생성 결과(즉, 잘못된 추론 궤적으로 이어지는 생성 결과)를 활용하고, 올바른 생성 결과를 생성하도록 Llama 3에 메시지를 표시하여 오류를 수정합니다(An 외. 2023b; Welleck 외. 2022; Madaan 외. 2024a). 잘못된 시도에 대한 피드백을 사용하여 수정하는 자기 반복적 과정은 모델의 정확한 추론 능력과 실수로부터 학습하는 능력을 향상시키는 데 도움이 됩니다.

 

4.3.4 긴 컨텍스트

최종 사전 훈련 단계에서 저희는 라마 3의 컨텍스트 길이를 8K에서 128K 토큰으로 확장했습니다(이에 대한 자세한 내용은 섹션 3.4 참조). 사전 훈련과 마찬가지로, 미세 조정 과정에서 짧은 컨텍스트와 긴 컨텍스트 기능의 균형을 맞추기 위해 공식을 신중하게 조정해야 한다는 사실을 발견했습니다.

SFT 및 합성 데이터 생성. 단순히 짧은 문맥 데이터만 사용하여 기존의 SFT 공식을 적용하면 사전 학습에서 긴 문맥 역량이 현저히 감소하여 SFT 데이터 포트폴리오에 긴 문맥 데이터를 통합해야 할 필요성이 강조되었습니다. 그러나 실제로는 긴 문맥을 읽는 것이 지루하고 시간이 많이 걸리기 때문에 이러한 예제 대부분을 수동으로 레이블을 지정하는 것은 비현실적이므로 합성 데이터에 크게 의존하여 이 간극을 메우고 있습니다. 저희는 이전 버전의 Llama 3을 사용하여 주요 긴 문맥 사용 사례인 Q&A, 긴 문서 요약, 코드베이스에 대한 추론 등을 기반으로 합성 데이터를 생성했으며, 이러한 사용 사례는 아래에서 자세히 설명합니다.

  • Q&A: 사전 학습 데이터 세트에서 긴 문서 세트를 신중하게 선택했습니다. 이러한 문서를 8K 레이블이 지정된 청크로 분할하고 이전 버전의 Llama 3 모델에 무작위로 선택된 청크에 대해 QA 쌍을 생성하도록 했습니다. 전체 문서는 훈련 중에 컨텍스트로 사용됩니다.
  • 초록: 먼저 가장 강력한 Llama 3 8K 컨텍스트 모델을 사용하여 8K 입력 길이의 블록을 계층적으로 요약함으로써 긴 컨텍스트 문서의 계층적 요약을 적용합니다. 그런 다음 이러한 요약이 집계됩니다. 훈련 중에는 전체 문서를 제공하고 모델에 모든 중요한 세부 정보를 보존하면서 문서를 요약하라는 메시지를 표시합니다. 또한 문서 요약을 기반으로 QA 쌍을 생성하고 긴 문서 전체를 전체적으로 이해해야 하는 질문을 모델에 제시합니다.
  • 긴 컨텍스트 코드 추론: Python 파일을 구문 분석하여 가져오기 문을 식별하고 종속성을 확인합니다. 여기에서 가장 일반적으로 사용되는 파일, 특히 최소 5개 이상의 다른 파일에서 참조하는 파일을 선택합니다. 이러한 주요 파일 중 하나를 리포지토리에서 제거하고 모델에 누락된 파일에 대한 종속성을 식별하고 필요한 누락된 코드를 생성하라는 메시지를 표시합니다.

더 세밀한 입력 길이 측위를 위해 합성으로 생성된 샘플을 시퀀스 길이(16K, 32K, 64K, 128K)에 따라 추가로 분류합니다.

신중한 제거 실험을 통해 합성으로 생성된 0.1%의 긴 컨텍스트 데이터를 원래의 짧은 컨텍스트 데이터와 혼합하면 짧은 및 긴 컨텍스트 벤치마크 테스트의 성능이 모두 최적화되는 것을 관찰했습니다.

DPO. SFT 모델이 긴 컨텍스트 작업에서 잘 작동하는 한, DPO에서 짧은 컨텍스트 학습 데이터만 사용해도 긴 컨텍스트 성능에 부정적인 영향을 미치지 않는다는 점에 유의하세요. 이는 DPO 공식이 SFT보다 최적화 단계가 더 적기 때문인 것으로 추정됩니다. 이 결과를 고려하여 긴 컨텍스트 SFT 체크포인트 위에 표준 짧은 컨텍스트 DPO 공식을 유지합니다.

 

4.3.5 도구 사용

대규모 언어 모델(LLM)에 검색 엔진이나 코드 해석기와 같은 도구를 사용하도록 가르치면 해결할 수 있는 작업의 범위가 크게 확장되어 단순한 대화형 모델에서 보다 다재다능한 비서로 변모할 수 있습니다(Nakano 외. 2021; Thoppilan 외. 2022; Parisi 외. 2022; Gao 외. 2023). 2022; 파리시 외. 2022; 가오 외. 2023; 미알론 외. 2023a; 쉬크 외. 2024). 우리는 라마 3에게 다음 도구와 상호 작용하도록 훈련시켰습니다:

  • 검색 엔진.Llama 3는 지식 기한이 지난 최근 사건에 대한 질문이나 웹에서 특정 정보를 검색해야 하는 요청에 대해 Brave Search7을 사용하여 답변하도록 학습되었습니다.
  • Python 인터프리터.Llama 3는 복잡한 계산을 수행하는 코드를 생성 및 실행하고, 사용자가 업로드한 파일을 읽고, 퀴즈, 요약, 데이터 분석 또는 시각화 등 이러한 파일을 기반으로 하는 작업을 해결합니다.
  • 수학 계산 엔진 .Llama 3는 Wolfram Alpha API8를 사용하여 수학 및 과학 문제를 보다 정확하게 해결하거나 Wolfram의 데이터베이스에서 정확한 정보를 검색할 수 있습니다.

생성된 모델은 채팅 설정에서 이러한 도구를 사용하여 다자간 대화를 포함한 사용자 쿼리를 해결할 수 있습니다. 쿼리에 여러 도구를 호출해야 하는 경우 모델은 도구를 순차적으로 호출하는 단계별 계획을 작성하고 각 도구를 호출한 후 추론할 수 있습니다.

또한 상황에 따라 잠재적으로 보이지 않는 도구 정의와 사용자 쿼리가 주어지면 올바른 도구 호출을 생성하도록 모델을 학습시켜 Llama 3의 제로 샘플 도구 사용 기능을 개선합니다.

실현.핵심 도구는 다양한 메서드를 가진 Python 객체로 구현됩니다. 제로 샘플 도구는 설명, 문서(예: 사용 방법 예시)가 포함된 Python 함수로 구현할 수 있으며, 모델에는 적절한 호출을 생성하기 위해 함수 서명과 문서 문자열만 컨텍스트로 필요합니다.

또한 함수 정의와 호출을 JSON 형식으로 변환합니다(예: 웹 API 호출). 모든 도구 호출은 Python 인터프리터에 의해 실행되며, 이 인터프리터는 Llama 3 시스템 프롬프트에서 활성화해야 합니다. 핵심 도구는 시스템 프롬프트에서 별도로 활성화 또는 비활성화할 수 있습니다.

데이터 수집.(2024)와 달리, 저희는 사람의 주석과 선호도에 의존하여 라마 3에게 도구를 사용하도록 학습시킵니다. 이는 일반적으로 라마 3에서 사용되는 사후 학습 파이프라인과 두 가지 주요한 점에서 다릅니다:

  • 도구와 관련하여 대화에는 종종 두 개 이상의 보조 메시지가 포함됩니다(예: 도구 호출 및 도구의 출력에 대한 추론). 따라서 자세한 피드백을 수집하기 위해 메시지 수준 주석을 수행합니다. 주석 작성자는 동일한 컨텍스트에 있는 두 개의 보조 메시지에 대한 기본 설정을 제공하거나 둘 중 하나에 큰 문제가 있는 경우 메시지 중 하나를 편집합니다. 그러면 선택되거나 수정된 메시지가 컨텍스트에 추가되고 대화가 계속됩니다. 이렇게 하면 어시스턴트의 도구 호출 능력과 도구의 출력에 대한 추론 능력에 대한 피드백이 제공됩니다. 어노테이터는 도구 출력의 순위를 매기거나 편집할 수 없습니다.
  • 도구 벤치마킹에서 이득이 관찰되지 않았기 때문에 거부 샘플링을 수행하지 않았습니다.

주석 처리 속도를 높이기 위해 먼저 이전 Llama 3 체크포인트의 합성 데이터를 미세 조정하여 기본 도구 사용 기능을 부트스트랩했습니다. 이렇게 하면 주석 작성자가 더 적은 편집 작업을 수행해야 합니다. 마찬가지로, 개발 과정에서 시간이 지남에 따라 Llama 3가 개선됨에 따라 한 번의 도구 사용 주석으로 시작하여 대화 중 도구 사용으로 이동하고 마지막으로 다단계 도구 사용 및 데이터 분석에 주석을 다는 등 인간 주석 프로토콜이 점차 복잡해졌습니다.

도구 데이터 세트.도구를 사용하는 애플리케이션에서 사용할 데이터를 생성하기 위해 다음 단계를 사용합니다.

  • 단일 단계 도구 사용. 먼저 소량의 샘플 생성을 수행하여 구조상 핵심 도구 중 하나를 호출해야 하는 사용자 프롬프트(예: 지식 데드라인을 초과하는 질문)를 합성합니다. 그런 다음, 여전히 소량의 샘플 생성에 의존하여 이러한 힌트에 대한 적절한 도구 호출을 생성하고 이를 실행한 다음 모델 컨텍스트에 출력을 추가합니다. 마지막으로, 모델에 다시 한번 도구 출력을 기반으로 사용자의 쿼리에 대한 최종 답변을 생성하도록 요청합니다. 시스템 힌트, 사용자 힌트, 도구 호출, 도구 출력 및 최종 답변과 같은 형태의 궤적이 완성됩니다. 또한 시행 불가능한 도구 호출이나 기타 서식 문제를 제거하기 위해 데이터 세트의 약 30%를 필터링했습니다.
  • 다단계 도구 사용. 저희는 먼저 합성 데이터를 생성하여 모델에 기본적인 다단계 도구 사용 기능을 가르치는 유사한 프로토콜을 따릅니다. 이를 위해 먼저 최소 두 개의 도구 호출(동일한 도구 또는 코어 세트의 다른 도구에서)이 필요한 사용자 힌트를 생성하도록 Llama 3에 요청합니다. 그런 다음 이러한 힌트를 기반으로 몇 가지 샘플을 수행하여 Llama 3에 추론 단계와 도구 호출이 결합된 솔루션을 생성하라는 메시지를 표시합니다. ReAct (Yao 외., 2022). 여러 단계의 도구를 사용하는 작업을 수행하는 라마 3의 예는 그림 10을 참조하세요.
  • 파일 업로드. 다음 파일 유형에 주석을 달 수 있습니다: .txt, .docx, .pdf, .pptx, .xlsx, .csv, .tsv, .py, .json, .jsonl, .html, .xml. 제공된 파일을 기반으로 파일 내용 요약, 버그 발견 및 수정, 코드 조각 최적화, 데이터 분석 또는 시각화 수행을 요청하는 프롬프트가 표시됩니다. 그림 11은 파일 업로드와 관련된 작업을 수행하는 Llama 3의 예를 보여줍니다.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

이 합성 데이터를 미세 조정한 후, 여러 차례의 상호작용, 3단계 이상의 도구 사용, 도구 호출이 만족스러운 답변을 생성하지 못한 상황 등 다양한 시나리오에서 사람의 주석을 수집했습니다. 그리고 다양한 시스템 단서로 합성 데이터를 보강하여 활성화된 경우에만 도구를 사용하도록 모델을 학습시켰습니다. 단순한 쿼리에 대한 도구 호출을 피하도록 모델을 학습시키기 위해, 도구를 사용하지 않지만 시스템 단서가 다음과 같은 경우인 계산하기 쉬운 쿼리 또는 질의응답 데이터세트(Berant 외. 2013, Koncel-Kedziorski 외. 2016, Joshi 외. 2017, Amini 외. 2019)의 쿼리와 그 응답도 추가했습니다. 도구를 활성화했습니다.

제로 샘플 툴 사용 데이터. 크고 다양한 부분 구성(함수 정의, 사용자 쿼리, 해당 호출)의 튜플을 미세 조정하여 제로 샘플 도구(함수 호출이라고도 함)를 사용하는 Llama 3의 기능을 개선합니다. 보이지 않는 도구 모음에서 모델을 평가합니다.

  • 단일, 중첩 및 병렬 함수 호출: 호출은 단순, 중첩(즉, 함수 호출을 다른 함수에 인수로 전달) 또는 병렬(즉, 모델이 독립적인 함수 호출 목록을 반환)로 이루어질 수 있습니다. 다양한 함수, 쿼리, 실제 결과를 생성하는 것은 어려울 수 있으며(Mekala 외., 2024), 실제 함수에 기반한 합성 사용자 쿼리를 생성하기 위해 스택 마이닝(Kocetkov 외., 2022)에 의존하고 있습니다. 보다 정확하게는 함수 호출과 그 정의를 추출하고, 이를 정리 및 필터링(예: 누락된 문서 문자열 또는 실행 불가능한 함수)한 다음, Llama 3을 사용해 함수 호출에 해당하는 자연어 쿼리를 생성합니다.
  • 다중 라운드 함수 호출: 또한 Li 외(2023b)에서 제시한 것과 유사한 프로토콜에 따라 함수 호출을 포함하는 다라운드 대화에 대한 합성 데이터를 생성합니다. 여러 에이전트를 사용하여 도메인, API, 사용자 쿼리, API 호출 및 응답을 생성하는 동시에 생성된 데이터가 다양한 도메인과 실제 API를 포함하도록 보장하며, 모든 에이전트는 각자의 책임에 따라 단계적으로 협업하는 방식으로 프롬프트되는 Llama 3의 변형입니다.

 

4.3.6 사실

언리얼은 대규모 언어 모델에게 여전히 큰 도전 과제입니다. 모델들은 지식이 부족한 분야에서도 과신하는 경향이 있습니다. 이러한 단점에도 불구하고 종종 지식 기반으로 사용되어 잘못된 정보가 확산되는 등 위험한 결과를 초래할 수 있습니다. 사실과 환상을 초월하는 것이 진실이라는 것을 알고 있지만, 여기서는 환상을 우선시하는 접근 방식을 취합니다.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

Llama 3:一个多功能、开源的 AI 模型系列

그림 11 파일 업로드 처리. 이 예는 Llama 3가 업로드된 파일을 분석하고 시각화하는 방법을 보여줍니다.

 

사후 학습은 지식을 추가하는 것이 아니라 '알고 있는 것을 아는 것'에 맞춰 모델을 조정해야 한다는 원칙을 따릅니다(Gekhman 외., 2024; Mielke 외., 2020). 우리의 주요 접근 방식은 모델 생성을 사전 학습 데이터에 존재하는 실제 데이터의 하위 집합과 일치시키는 데이터를 생성하는 것입니다. 이를 위해 라마 3의 컨텍스트 기능을 활용하는 지식 감지 기법을 개발했습니다. 이 데이터 생성 프로세스는 다음 단계로 구성됩니다:

  1. 사전 학습 데이터에서 데이터 세그먼트를 추출합니다.
  2. 이러한 세그먼트(컨텍스트)에 대한 사실적인 질문을 생성하여 라마 3에게 프롬프트합니다.
  3. Llama 3의 이 질문에 대한 샘플 답변입니다.
  4. 원본 문맥은 참조로 사용되었고, 라마 3는 생성의 정확성을 평가하는 판정자로 사용되었습니다.
  5. 라마 3을 평가자로 사용하여 생성된 풍부도에 점수를 매깁니다.
  6. 여러 세대에 걸쳐 일관되게 정보를 제공하고 부정확한 응답에 대한 거부 이유를 생성하고 Llama 3을 사용하세요.

지식 프로브에서 생성된 데이터를 사용하여 모델이 알고 있는 질문에만 답변하고 확실하지 않은 질문에는 답변을 거부하도록 유도합니다. 또한 사전 학습 데이터가 항상 사실적으로 일관되거나 정확한 것은 아닙니다. 따라서 사실과 모순되거나 잘못된 진술이 많은 민감한 주제를 다루는 제한된 레이블이 지정된 진실성 데이터 세트도 수집했습니다.

 

4.3.7 제어 가능성

제어 가능성은 개발자와 사용자의 요구 사항을 충족하도록 모델의 동작과 결과를 지시하는 기능입니다. Llama 3는 일반적인 기본 모델이기 때문에 다양한 다운스트림 사용 사례에 맞게 쉽게 조정할 수 있습니다. 특히 응답 길이, 형식, 음성 톤, 역할/캐릭터 설정과 관련하여 시스템 프롬프트(자연어 명령 사용)를 통해 Llama 3의 제어 가능성을 개선하는 데 중점을 두었습니다.

데이터 수집. 일반 영어 카테고리에서 제어 가능성 선호도 샘플을 수집하기 위해 주석가에게 라마 3의 다양한 시스템 프롬프트를 디자인해 달라고 요청했습니다. 그런 다음 주석 작성자는 모델을 대화에 참여시켜 모델이 대화 내내 시스템 프롬프트에 정의된 지침을 일관되게 따를 수 있는지 평가했습니다. 다음은 제어 가능성을 높이기 위해 사용된 사용자 지정 시스템 프롬프트의 예입니다:

"당신은 바쁜 가족을 위한 식사 계획 도우미 역할을 하는 유용하고 활기찬 AI 챗봇입니다. 근무일 식사는 빠르고 간편해야 합니다. 아침과 점심에는 시리얼, 미리 조리된 베이컨이 들어간 잉글리시 머핀 등 빠르고 쉽게 만들 수 있는 간편식을 우선적으로 고려해야 합니다. 이 가족은 바쁩니다. 커피나 에너지 드링크와 같은 필수품과 좋아하는 음료가 있는지 물어보고 잊지 말고 구입하세요. 특별한 경우가 아니라면 예산을 절약하는 것을 잊지 마세요."

모델링. 선호도 데이터를 수집한 후에는 이 데이터를 보상 모델링, 거부 샘플링, SFT(지속적인 미세 조정) 및 DPO(데이터 기반 파라미터 최적화)에 사용하여 Llama 3의 제어 가능성을 향상시킵니다.

 

 

5 결과

 

저희는 (1) 사전 학습된 언어 모델, (2) 사후 학습된 언어 모델, (3) Llama 3의 보안 기능의 성능을 조사하는 일련의 광범위한 평가를 수행했습니다. 이러한 평가 결과는 아래 별도의 하위 섹션에 제시되어 있습니다.

 

5.1 사전 학습 언어 모델

이 섹션에서는 사전 훈련된 라마 3의 평가 결과(파트 III)를 보고하고 비슷한 크기의 다른 모델과 비교합니다. 가능한 한 경쟁 모델의 결과를 재현할 것입니다. 라마가 아닌 모델의 경우, 공개적으로 보고된 결과 또는 (가능한 경우) 직접 재현한 결과에서 가장 높은 점수를 보고할 것입니다. 샷 수, 메트릭, 기타 관련 하이퍼파라미터 및 설정 등의 구성을 포함하여 이러한 평가에 대한 구체적인 세부 사항은 Github 리포지토리에서 확인할 수 있습니다: [여기에 링크 삽입]. 또한 공개 벤치마킹 평가의 일부로 생성된 데이터도 여기에서 확인할 수 있습니다: [여기에 링크 삽입].

표준 벤치마크를 기준으로 모델 품질을 평가하고(섹션 5.1.1), 객관식 설정의 변화에 대한 견고성을 테스트하며(섹션 5.1.2), 적대적 평가를 수행합니다(섹션 5.1.3). 또한 오염 분석을 수행하여 훈련 데이터의 오염이 평가에 영향을 미치는 정도를 추정합니다(섹션 5.1.4).

 

5.1.1 표준 벤치마크

저희 모델을 현재 최신 기술과 비교하기 위해 아래에 나와 있는 다양한 표준 벤치마크 테스트에서 Llama 3를 평가했습니다:

(1) 상식 추론, (2) 지식, (3) 독해, (4) 수학, 추론 및 문제 해결, (5) 긴 문맥, (6) 코드, (7) 적대적 평가, (8) 종합 평가입니다.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

실험적 설정.각 벤치마크에 대해 Llama 3의 점수와 비슷한 크기의 다른 사전 학습된 모델의 점수를 계산합니다. 가능한 경우, 자체 파이프라인을 사용해 다른 모델의 데이터를 다시 계산합니다. 그런 다음 공정한 비교를 위해 계산된 데이터와 해당 모델이 보고한 수치 중 가장 좋은 점수를 선택합니다(동일하거나 더 보수적인 설정을 사용). 평가 설정에 대한 자세한 정보는 여기에서 확인할 수 있습니다. 일부 모델의 경우, 사전 학습된 모델이 게시되지 않았거나 API가 로그 확률에 대한 액세스를 제공하지 않는 등의 이유로 벤치마크 값을 다시 계산할 수 없습니다. 이는 특히 Llama 3 405B와 유사한 모든 모델에 적용됩니다. 따라서 모든 벤치마킹 수치를 사용할 수 있어야 하므로 Llama 3 405B에 대한 카테고리 평균은 보고하지 않습니다.

중요도 값입니다.벤치마킹 점수를 계산할 때 적은 수의 데모, 무작위 시드, 배치 크기 등 벤치마킹을 통해 측정하려는 모델의 성능을 부정확하게 추정할 수 있는 여러 가지 분산 원인이 있습니다. 따라서 한 모델이 다른 모델보다 통계적으로 유의미하게 더 나은지 여부를 파악하기가 어렵습니다. 따라서 저희는 벤치마크 데이터의 선택으로 인해 발생하는 분산을 반영하기 위해 95% 신뢰 구간(CI)과 함께 점수를 보고합니다. 95% CI는 다음 공식을 사용하여 분석적으로 계산했습니다(Madaan 외., 2024b):

Llama 3:一个多功能、开源的 AI 模型系列

CI_analytic(S) = 1.96 * sqrt(S * (1 - S) / N)

여기서 S는 선호하는 벤치마크 점수이고 N은 벤치마크의 샘플 크기입니다. 벤치마크 데이터의 분산이 유일한 분산 원인은 아니므로 이 95% CI는 실제 용량 추정치의 분산에 대한 하한선이라는 점에 유의하시기 바랍니다. 단순 평균이 아닌 지표의 경우 CI는 생략됩니다.

Llama 3 8B 및 70B 모델의 결과입니다.그림 12는 상식 추론, 지식, 독해, 수학 및 추론, 코드 벤치마크 테스트에서 Llama 3 8B와 70B의 평균 성능을 보여줍니다. 테스트 결과, Llama 3 8B는 거의 모든 카테고리에서 카테고리별 승률과 카테고리별 평균 성능 모두에서 경쟁 모델보다 우수한 것으로 나타났습니다. 또한, 포화 상태일 수 있는 상식 벤치마크를 제외한 대부분의 벤치마크에서 이전 모델인 Llama 2 70B보다 성능이 크게 향상되었으며, Llama 3 70B는 Mixtral 8x22B보다 성능이 뛰어납니다.

8B 및 70B 모델 결과.그림 12는 상식 추론, 지식, 독해, 수학 및 추론, 코드 벤치마크 테스트에서 Llama 3 8B와 70B의 평균 성능을 보여줍니다. 테스트 결과, 카테고리별 승률과 카테고리별 평균 성능 모두에서 거의 모든 카테고리에서 Llama 3 8B가 경쟁 모델보다 우수한 것으로 나타났습니다. 또한, 포화 상태에 도달했을 수 있는 상식 벤치마크를 제외한 대부분의 벤치마크에서 이전 모델인 라마 2 70B보다 라마 3 70B가 크게 향상된 것으로 나타났으며, 라마 3 70B는 Mixtral 8x22B보다 성능이 더 뛰어났습니다.

모든 모델에 대한 자세한 결과입니다.표 9, 10, 11, 12, 13, 14는 독해 과제, 코딩 과제, 일반 지식 이해 과제, 수학적 추론 과제 및 일상 과제에서 사전 학습된 Llama 3 8B, 70B 및 405B 모델의 벤치마크 테스트 성능을 보여줍니다. 이 표는 비슷한 크기의 모델과 Llama 3의 성능을 비교한 것입니다. 결과에 따르면 Llama 3 405B는 해당 카테고리에서 경쟁력이 있으며 특히 이전 오픈 소스 모델보다 성능이 크게 뛰어납니다. 컨텍스트가 긴 테스트의 경우, 5.2절에서 보다 포괄적인 결과(건초더미에서 바늘 찾기와 같은 탐지 작업 포함)를 제공합니다.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

Llama 3:一个多功能、开源的 AI 模型系列

 

5.1.2 모델 견고성

벤치마킹 성능 외에도 견고성은 사전 학습된 언어 모델의 품질에 중요한 요소입니다. 저희는 객관식(MCQ) 환경에서 사전 학습된 언어 모델이 선택한 디자인 선택의 견고성을 조사합니다. 이전 연구에 따르면 모델 성능은 이러한 환경에서 겉보기에 임의적으로 보이는 디자인 선택에 민감할 수 있으며, 예를 들어 모델 점수와 심지어 순위가 문맥 예시의 순서와 레이블에 따라 달라질 수 있습니다(Lu 외. 2022; Zhao 외. 2021; Robinson and Wingate 2023; Liang 외. 2022; Gupta 외. 2024; Gupta et al. 2024), 프롬프트의 정확한 형식(Weber 외, 2023b; Mishra 외, 2022) 또는 답변 옵션의 형식과 순서(Alzahrani 외, 2024; Wang 외, 2024a; Zheng 외, 2023). 이 연구에서 영감을 얻어 MMLU 벤치마크를 사용하여 사전 학습된 모델의 (1) 소수 샷 라벨링 편향, (2) 라벨링 변형, (3) 답안 순서, (4) 큐 형식에 대한 견고성을 평가합니다:

  • 몇 개의 렌즈 라벨이 떨어져 있습니다. Zheng 등(2023)에 이어 ... (실험 세부 사항 및 결과 설명은 여기서는 생략).
  • 레이블 이형 상품. 또한 선택한 토큰의 다양한 세트에 대한 모델의 반응도 조사했습니다. Alzahrani 등(2024)이 제안한 두 가지 태그 세트, 즉 언어 독립적인 공통 태그 세트($ & # @)와 암시적 상대 순서가 없는 희귀 태그 세트(oe § з ü)를 고려했습니다. 또한 두 가지 버전의 표준 태그(A. B. C. D. 및 A) B) C) D))와 숫자 목록(1. 2. 3. 4.)도 고려합니다.
  • 답변 순서. Wang 등(2024a)에 따라 다양한 답변 순서에 따른 결과의 안정성을 계산합니다. 이를 위해 데이터 세트의 모든 답을 고정된 순열에 따라 다시 매핑합니다. 예를 들어 순열 A B C D의 경우, 레이블이 A와 B인 모든 답안에는 레이블이 유지되고, 레이블이 C인 모든 답안에는 레이블이 D로 바뀌며, 그 반대의 경우도 마찬가지입니다.
  • 큐 형식. 포함된 정보의 양이 다른 다섯 가지 작업 단서 간의 성능 차이를 평가했습니다. 한 단서는 단순히 모델에게 질문에 대한 답을 요구한 반면, 다른 단서는 모델의 전문성을 요구하거나 모델이 최선의 답을 선택해야 한다고 주장했습니다.

 

Llama 3:一个多功能、开源的 AI 模型系列

표 11 일반 지식 이해 과제에서 사전 학습된 모델의 성능. 결과는 95% 신뢰 구간을 포함합니다.

 

Llama 3:一个多功能、开源的 AI 模型系列

표 12 수학 및 추론 과제에서 사전 학습된 모델의 성능. 결과는 95% 신뢰 구간을 포함합니다. 11회 촬영.

 

Llama 3:一个多功能、开源的 AI 模型系列

표 13 범용 언어 과제에 대한 사전 학습된 모델의 성능. 결과는 95% 신뢰 구간을 포함합니다.

 

Llama 3:一个多功能、开源的 AI 模型系列

그림 13 MMLU 벤치마킹에서 다양한 디자인 선택에 대한 사전 학습된 언어 모델의 견고성. 왼쪽: 다양한 레이블 변형을 사용한 성능. 오른쪽: 샘플이 적은 예제에서 다양한 레이블이 있을 때의 성능.

 

Llama 3:一个多功能、开源的 AI 模型系列

그림 14 MMLU 벤치마크 테스트에서 다양한 디자인 선택에 대한 사전 학습된 언어 모델의 견고성. 왼쪽: 다양한 답변 시퀀스에 대한 성능. 오른쪽: 다양한 프롬프트 형식에 대한 성능.

 

그림 13은 레이블 변형(왼쪽)과 소수 샷 레이블 편향(오른쪽)에 대한 모델 성능의 견고성을 조사한 실험 결과를 보여줍니다. 결과에 따르면 사전 학습된 언어 모델은 MCQ 레이블 변형과 소수 샷 큐 레이블 구조에 대해 매우 견고함을 보여줍니다. 이러한 견고성은 405B 파라메트릭 모델에서 특히 두드러집니다.

그림 14는 답변 순서와 단서 형식의 견고성에 대한 연구 결과를 보여줍니다. 이러한 결과는 사전 학습된 언어 모델 성능의 견고성, 특히 라마 3 405B의 견고성을 더욱 강조합니다.

Llama 3:一个多功能、开源的 AI 模型系列

 

5.1.3 적대적 벤치마킹

위에서 언급한 벤치마크 테스트 외에도 질문과 답변, 수학적 추론, 문장 재작성 감지의 세 가지 영역에서 여러 가지 적대적 벤치마크를 평가했습니다. 이러한 테스트는 특별히 까다롭게 설계된 작업에 대한 모델의 능력을 조사하기 위해 고안되었으며 벤치마크 테스트에서 모델의 과적합 문제를 지적할 수 있습니다.

  • 질문 및 답변에서는 Adversarial SQuAD(Jia and Liang, 2017)와 Dynabench SQuAD(Kiela et al., 2021)를 사용했습니다.
  • 수학적 추론GSM-Plus를 사용했습니다(Li et al., 2024c).
  • 문장 재작성 테스트 측면PAWS를 사용했습니다(Zhang et al., 2019).

그림 15는 적대적 벤치마크 테스트에서 Llama 3 8B, 70B, 405B의 점수를 비적대적 벤치마크 테스트에서의 성능에 따라 나타낸 것입니다. 우리가 사용하는 비적대적 벤치마크 테스트는 질문과 답변을 위한 SQuAD(Rajpurkar 외, 2016), 수학적 추론을 위한 GSM8K, 문장 재작성 감지를 위한 QQP(Wang 외, 2017)입니다. 각 데이터 포인트는 적대적 데이터 세트와 비적대적 데이터 세트 쌍(예: PAWS와 짝을 이룬 QQP)을 나타내며, 카테고리 내에서 가능한 모든 짝을 표시합니다. 대각선의 검은색 선은 적대적 데이터 세트와 비적대적 데이터 세트 간의 패리티를 나타내며, 이 선은 적대적 또는 비적대적에 관계없이 모델이 비슷한 성능을 가지고 있음을 나타냅니다.

문장 운율 감지의 경우, 사전 학습된 모델이나 사후 학습된 모델 모두 PAWS 구조의 적대적 특성에 영향을 받지 않는 것으로 보이며, 이는 이전 세대의 모델에 비해 크게 개선된 것입니다. 이 결과는 대규모 언어 모델이 여러 적대적 데이터 세트에서 가짜 상관관계에 덜 민감하다는 것을 발견한 Weber 등(2023a)의 연구 결과를 확인시켜 줍니다. 그러나 수학적 추론과 질의응답의 경우 적대적 성능이 비적대적 성능보다 현저히 낮습니다. 이 패턴은 사전 학습된 모델과 사후 학습된 모델 모두에 적용됩니다.

 

5.1.4 오염 분석

사전 훈련 코퍼스에서 평가 데이터의 오염으로 인해 벤치마크 점수가 어느 정도 영향을 받을 수 있는지 추정하기 위해 오염 분석을 실시했습니다. 이전 연구에서는 다양한 오염 방법과 하이퍼파라미터를 사용했는데, 우리는 Singh 외(2024)의 연구를 참고했습니다. 그 결과, 사전 학습된 언어 모델은 객관식 문제 라벨링의 변화와 샘플 수가 적은 큐 레이블 구조의 변화(2024년에 설명됨)에도 매우 견고하다는 것을 보여줍니다. 이러한 접근 방식에서는 오탐과 오탐이 발생할 수 있으며, 오염 분석을 가장 잘 수행하는 방법은 아직 연구 중인 영역입니다. 여기서는 주로 Singh 등(2024)의 권장 사항을 따릅니다.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

Llama 3:一个多功能、开源的 AI 模型系列

 

방법:특히 Singh 등(2024)은 어떤 방법이 "깨끗한" 데이터 세트와 전체 데이터 세트 간에 가장 큰 차이를 가져오는지에 따라 오염 탐지 방법을 경험적으로 선택할 것을 제안하며, 이를 예상 성능 이득이라고 합니다. 모든 평가 데이터 세트에 대해 8그램 중첩을 기준으로 점수를 매겼는데, Singh 등(2024)이 많은 데이터 세트에서 정확하다고 밝힌 바 있습니다. 데이터 세트 D의 예를 들어 레이블 TD 의 비율로 사전 학습 말뭉치에 적어도 한 번 이상 등장합니다. 각 데이터 세트에 대해 개별적으로 TD를 선택하면 세 가지 모델 크기에서 최대 유의미한 예상 성능 향상을 나타내는 값을 확인할 수 있습니다.

결과:표 15는 위에서 설명한 대로 모든 주요 벤치마크에 대한 평가 데이터 중 최대 성능 이득 추정치를 위해 오염된 것으로 간주되는 데이터의 비율을 보여줍니다. 이 표에서는 깨끗한 풀 샘플이 너무 적거나 오염된 풀 샘플로 인해 결과가 유의미하지 않거나 관찰된 성능 이득 추정치가 매우 불규칙한 동작을 보이는 벤치마크 수치는 제외했습니다.

표 15에서 일부 데이터 세트의 경우 오염이 큰 영향을 미치는 반면, 그렇지 않은 데이터 세트도 있음을 알 수 있습니다. 예를 들어, PiQA와 HellaSwag의 경우 오염 추정치와 성능 향상 추정치가 모두 높습니다. 반면, 자연 문제의 경우 52%의 오염 추정치는 성능에 거의 영향을 미치지 않는 것으로 보입니다. SQuAD와 수학의 경우 임계값이 낮으면 오염도는 높지만 성능 이득은 없습니다. 이는 오염이 이러한 데이터 세트에 도움이 되지 않거나 더 나은 추정치를 얻기 위해 더 큰 n이 필요하다는 것을 시사합니다. 마지막으로 MBPP, HumanEval, MMLU 및 MMLU-Pro의 경우 다른 오염 탐지 방법이 필요할 수 있습니다. 임계값이 높더라도 8그램 오버랩으로 인해 오염 점수가 너무 높아 성능 이득에 대한 좋은 추정치를 얻을 수 없습니다.

 

5.2 언어 모델 미세 조정하기

다양한 기능의 벤치마크 테스트에 대한 훈련 후 라마 3 모델의 결과를 보여줍니다. 사전 훈련과 마찬가지로 평가의 일부로 생성된 데이터는 Huggingface에서 확인할 수 있는 공개 벤치마크에 게시합니다(여기에 링크 삽입). 평가 설정에 대한 자세한 정보는 여기에서 확인할 수 있습니다(여기에 링크 삽입).

벤치마킹 및 지표.표 16에는 모든 벤치마크 테스트가 능력별로 분류되어 요약되어 있습니다. 각 벤치마크 테스트의 단서와 정확히 일치하도록 훈련 후 데이터의 오염을 제거합니다. 표준 학업 벤치마크 테스트 외에도 다양한 능력에 대한 광범위한 수동 평가도 실시했습니다. 자세한 내용은 섹션 5.3을 참조하세요.

실험적 설정.사전 훈련 단계와 유사한 실험 설정을 사용하여 비슷한 크기와 기능을 가진 다른 모델과 비교하여 Llama 3를 분석합니다. 가능한 경우 다른 모델의 성능을 직접 평가하고 그 결과를 보고된 수치와 비교하여 가장 좋은 점수를 선택합니다. 평가 설정에 대한 자세한 내용은 여기에서 확인할 수 있습니다(여기에 링크 삽입).

 

Llama 3:一个多功能、开源的 AI 模型系列

표 16 카테고리별 훈련 후 벤치마크 테스트. 훈련 후 라마 3 모델을 평가하기 위해 사용한 모든 벤치마크 테스트의 개요를 능력별로 정렬한 것입니다.

 

5.2.1 일반 지식 및 지침 준수 벤치마킹

표 2에 나열된 벤치마크를 사용하여 일반적인 지식과 지침 준수 측면에서 라마 3의 기능을 평가했습니다.

일반 지식: 저희는 지식 기반 질문 능력에 대한 라마 3의 성능을 평가하기 위해 MMLU(Hendrycks et al., 2021a)와 MMLU-Pro(Wang et al., 2024b)를 사용합니다. MMLU의 경우, CoT 없이 5배수 예시 기준 설정에서 하위 과제 정확도의 매크로 평균을 보고하며, MMLU-Pro는 더 도전적이고 추론에 초점을 맞춘 질문을 포함하고, 잡음 문제를 제거하며, 선택의 범위를 4개에서 10개로 확장한 확장된 버전의 MMLU입니다. 복잡한 추론에 초점을 맞춘 MMLU-Pro의 5가지 예시 CoT를 소개합니다. 모든 과제는 단순 평가와 유사한 생성형 과제 형식으로 구성됩니다(OpenAI, 2024).

표 2에서 볼 수 있듯이, 8B 및 70B 라마 3 모델은 일반 지식 작업 모두에서 비슷한 크기의 다른 모델보다 성능이 뛰어납니다. 405B 모델은 GPT-4와 네모트론 4 340B보다 성능이 뛰어나며, 클로드 3.5 소네트는 더 큰 모델에서 선두를 달리고 있습니다.

따라야 할 지침: 우리는 자연어 명령을 따르는 Llama 3 및 기타 모델의 능력을 평가하기 위해 IFEval(Zhou et al., 2023)을 사용합니다. IFEval은 휴리스틱을 사용하여 검증할 수 있는 "400단어 이상 쓰기"와 같은 약 500개의 "검증 가능한 명령"으로 구성되어 있습니다. IFEval에는 휴리스틱을 사용하여 검증할 수 있는 "400단어 이상으로 쓰기"와 같은 약 500개의 "검증 가능한 명령어"가 포함되어 있습니다. 표 2에는 엄격하고 느슨한 제약 조건 하에서 프롬프트 수준 및 명령어 수준의 정확도 평균이 나와 있습니다. 모든 라마 3 변형은 IFEval에서 비교 대상 모델보다 성능이 뛰어납니다.

 

5.2.2 역량 시험

다음으로, 원래 인간을 테스트하기 위해 고안된 일련의 적성 테스트를 통해 모델을 평가합니다. 이러한 시험은 공개적으로 이용 가능한 공식 출처에서 입수하며, 일부 시험의 경우 각 적성 테스트의 결과로 여러 시험 세트의 평균 점수를 보고합니다. 구체적으로 평균을 구합니다:

  • GRE: 교육 시험 서비스에서 제공하는 공식 GRE 모의고사 1, 2;
  • LSAT: 공식 사전 시험 71, 73, 80, 93;
  • SAT: 공식 SAT 학습 가이드, 2018 에디션의 8가지 시험;
  • AP: 과목당 공식 모의고사 1회;
  • GMAT: 공식 GMAT 온라인 시험.

이 시험의 문제에는 객관식 문제와 주관식 문제가 포함되어 있습니다. 이미지가 첨부된 문제는 제외됩니다. 정답 옵션이 여러 개 포함된 GRE 문제의 경우, 모델이 모든 정답 옵션을 선택한 경우에만 출력을 정답으로 인정합니다. 시험 세트가 두 개 이상인 경우, 평가에 소수의 힌트를 사용합니다. GRE의 경우 130-170점 범위로 점수를 조정하고 다른 모든 시험의 경우 정확도를 보고합니다.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

그 결과는 표 17에 나와 있으며, Llama 3 405B 모델의 성능이 Claude 3.5 소네트는 GPT-4 4o와 매우 유사합니다. 반면 70B 모델은 훨씬 더 인상적인 성능을 보여줍니다. GPT-3.5 터보보다 훨씬 우수하며 많은 테스트에서 네모트론 4 340B보다 성능이 뛰어납니다.

 

5.2.3 코딩 벤치마크

여러 유명 Python 및 다국어 프로그래밍 벤치마크에서 Llama 3의 코드 생성 기능을 평가합니다. 기능적으로 올바른 코드를 생성하는 모델의 효율성을 측정하기 위해 N 세대 세트에 대한 단위 테스트 통과율을 평가하는 pass@N 메트릭을 사용합니다. pass@1에 대한 결과를 보고합니다.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

Llama 3:一个多功能、开源的 AI 模型系列

 

Python 코드 생성. 비교적 단순하고 독립적인 기능에 초점을 맞춘 인기있는 파이썬 코드 생성 벤치마크인 HumanEval(Chen et al., 2021) 및 MBPP(Austin et al., 2021)는 HumanEval의 향상된 버전으로, 더 많은 테스트 사례를 생성하여 오탐을 피할 수 있습니다. 오탐을 방지하기 위해 더 많은 테스트 케이스가 생성되는 향상된 버전입니다.MBPP EvalPlus 벤치마크 버전(v0.2.0)은 원래 MBPP(훈련 및 테스트) 데이터 세트의 974개 초기 질문 중 잘 구성된 378개 질문(Liu et al., 2024a)을 선별한 것입니다. 이러한 벤치마크 테스트의 결과는 표 18에 나와 있습니다. 이러한 Python 변형을 벤치마킹한 결과, Llama 3 8B와 70B는 비슷한 성능의 동일한 크기의 모델보다 우수한 성능을 보였습니다. 가장 큰 모델의 경우, Llama 3 405B, Claude 3.5 Sonnet 및 GPT-4o의 성능이 비슷했으며, GPT-4o가 가장 우수한 결과를 보였습니다.

모델. 라마 3를 비슷한 크기의 다른 모델과 비교했습니다. 가장 큰 모델인 라마 3 405B, 클로드 3.5 소네트, GPT-4o의 성능은 비슷했으며 GPT-4o가 가장 좋은 결과를 보여주었습니다.

다중 프로그래밍 언어 코드 생성: 파이썬 이외의 언어의 코드 생성 능력을 평가하기 위해, HumanEval 및 MBPP 문제의 번역을 기반으로 한 MultiPL-E(Cassano et al., 2023) 벤치마크의 결과를 보고합니다. 표 19는 일부 인기 프로그래밍 언어에 대한 결과를 보여줍니다.

표 18의 Python과 비교했을 때 성능이 크게 저하된다는 점에 유의하세요.

 

5.2.4 다국어 벤치마킹

Llama 3는 영어, 독일어, 프랑스어, 이탈리아어, 포르투갈어, 힌디어, 스페인어, 태국어 등 8개 언어를 지원하지만 기본 모델은 더 많은 언어를 사용하여 학습되었습니다. 표 20에는 다국어 MMLU(Hendrycks 외., 2021a) 및 다국어 초등 수학(MGSM)(Shi 외., 2022) 벤치마크에 대한 Llama 3의 평가 결과가 나와 있습니다.

  • 다국어 MMLUGoogle 번역기를 사용하여 MMLU 문제와 몇 가지 예시, 답변을 다른 언어로 번역했습니다. 과제 설명은 영어로 유지하고 5점 만점으로 평가했습니다.
  • MGSM(Shi et al., 2022)Llama 3 모델의 경우, MGSM에 대한 0샷 CoT 결과를 보고합니다. 다국어 MMLU는 내부 벤치마크로서 MMLU(Hendrycks et al., 2021a) 질문과 답변을 7개 언어로 번역하며, 보고하는 5회차 결과는 이러한 언어에 대한 평균 결과입니다.

MGSM(Shi et al., 2022)의 경우, 단순 평가(OpenAI, 2024)에서와 동일한 기본 프롬프트를 사용하여 모델을 테스트하고 0-shot CoT 환경에 배치했습니다. 표 20에는 MGSM 벤치마크에 포함된 모든 언어에 대한 평균 결과가 나와 있습니다.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

평균 점수는 91.61TP3 T로 MGSM에서 Llama 3 405B가 대부분의 다른 모델을 능가하는 것으로 나타났습니다. MMLU에서는 위의 영어 MMLU 결과와 마찬가지로 Llama 3 405B가 GPT-4o 21TP3 T에 뒤쳐졌습니다. 반면에 Llama 3의 70B 및 8B 모델은 모두 경쟁사보다 우수한 성능을 보이며 두 작업에서 큰 차이로 선두를 달리고 있습니다. 두 작업 모두에서.

 

5.2.5 수학 및 추론 벤치마크

수학 및 추론 벤치마크 결과는 표 2에 나와 있으며, Llama 3 8B 모델은 GSM8K, MATH 및 GPQA에서 같은 크기의 다른 모델보다 성능이 뛰어납니다. 70B 모델은 모든 벤치마크 테스트에서 다른 모델보다 훨씬 우수한 성능을 보였습니다. 마지막으로, 라마 3 405B 모델은 GSM8K 및 ARC-C에서는 동급 최고의 모델이며, MATH에서는 두 번째로 우수한 모델입니다. GPQA에서는 GPT-4 4o와 잘 경쟁하는 반면, Claude 3.5 Sonnet은 큰 차이로 1위를 차지했습니다.

 

5.2.6 긴 컨텍스트 벤치마킹

다양한 도메인과 텍스트 유형에 걸쳐 다양한 작업을 고려합니다. 아래 벤치마크에서는 편향되지 않은 평가 프로토콜, 즉 n-그램 중복 메트릭이 아닌 정확도 기반 메트릭을 사용하는 하위 작업에 중점을 둡니다. 또한 분산이 낮은 작업에 우선순위를 둡니다.

  • 건초더미 속 바늘 (캄라트, 2023) 긴 문서의 임의의 부분에 숨겨진 정보를 검색하는 모델의 능력을 측정합니다. Llama 3 모델은 모든 문서 깊이와 문맥 길이에서 100%의 '바늘'을 성공적으로 검색하여 완벽한 바늘 검색 성능을 보여주었습니다. 또한 건초더미에서 바늘 찾기(Needle-in-a-Haystack)의 변형인 다중 바늘(표 21)의 성능을 측정하여 4개의 '바늘'을 문맥에 삽입하고 그 중 2개의 바늘을 검색할 수 있는지 테스트했습니다. Llama 3 모델은 거의 완벽에 가까운 검색 결과를 달성했습니다.
  • 제로스콜스(샤함 외, 2023)는 긴 텍스트에 대한 자연어 이해도를 측정하는 제로 샘플 벤치마크 테스트입니다. 정답은 공개되지 않기 때문에 검증 세트의 수치를 보고합니다. 당사의 Llama 3 405B 및 70B 모델은 이 벤치마크 테스트의 다양한 작업에서 다른 모델과 동등하거나 그 이상의 성능을 보였습니다.
  • 인피니트벤치(장 외, 2024) 모델은 컨텍스트 창에서 장거리 종속성을 이해해야 합니다. Llama 3를 En.QA(소설에 대한 퀴즈)와 En.MC(소설에 대한 객관식 퀴즈)에서 평가한 결과, 405B 모델이 다른 모든 모델보다 우수한 성능을 보였습니다. 특히 En.QA에서 이득이 두드러졌습니다.

 

Llama 3:一个多功能、开源的 AI 模型系列

표 21 긴 텍스트 벤치마킹. 제로스크롤의 경우(Shaham et al., 2023) 검증 세트에 대한 결과를 보고합니다. QuALITY의 경우 정확한 일치, Qasper의 경우 f1, SQuALITY - rougeL의 경우 정확도를 보고합니다. InfiniteBench(Zhang et al., 2024) En.QA 메트릭에 대해서는 f1을, En.MC에 대해서는 정확도를 보고합니다. Multi-needle(Kamradt, 2023)의 경우, 컨텍스트에 4개의 바늘을 삽입하고 모델이 컨텍스트 길이가 다른 2개의 바늘을 검색할 수 있는지 테스트하며, 10개 시퀀스 길이 중 최대 128k에 대한 평균 리콜을 계산합니다.

 

5.2.7 도구 성능

저희는 일련의 제로 샘플 도구 사용(즉, 함수 호출) 벤치마크인 Nexus(Srinivasan 외, 2023), API-Bank(Li 외, 2023b), Gorilla API-Bench(Patil 외, 2023), Berkeley 함수 호출 리더보드( BFCL)(Yan et al., 2024). 결과는 표 22에 나와 있습니다.

Nexus에서는 라마 3 모델이 동급의 다른 모델을 능가하는 최고의 성능을 발휘합니다. API-Bank에서는 라마 3 8B 및 70B 모델이 해당 카테고리에서 다른 모델을 크게 앞섰습니다. 405B 모델은 클로드 3.5 소네트 0.6%에 이어 2위를 차지했으며, 마지막으로 405B 및 70B 모델은 BFCL에서 우수한 성능을 발휘하며 해당 사이즈 카테고리에서 2위를 차지했습니다. 라마 3 8B는 해당 카테고리에서 가장 우수한 성능을 보였습니다.

또한 코드 실행 작업을 중심으로 모델의 도구 사용 능력을 테스트하기 위해 수동 평가를 실시했습니다. 코드 실행과 관련된 사용자 프롬프트, 도면 생성, 파일 업로드(도면이나 파일 업로드는 제외)를 2,000개 수집했습니다. 이러한 프롬프트의 출처는 다음과 같습니다. LMSys 데이터 세트(Chiang 외, 2024), GAIA 벤치마크(Mialon 외, 2023b), 인간 주석자, 합성 생성 등을 사용했습니다. OpenAI의 어시스턴트 API10 를 사용하여 라마 3 405B와 GPT-4o를 비교했습니다. 결과는 그림 16에 나와 있습니다. 텍스트 전용 코드 실행 작업과 도면 생성에서는 Llama 3 405B가 GPT-4o보다 성능이 월등히 뛰어나지만 파일 업로드 사용 사례에서는 GPT-4o보다 뒤처집니다.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

5.3 수동 평가

표준 벤치마크 데이터 세트에 대한 평가 외에도 일련의 인적 평가를 실시했습니다. 이러한 평가를 통해 모델의 어조, 중복성 수준, 뉘앙스 및 문화적 맥락에 대한 이해 등 모델 성능의 보다 미묘한 측면을 측정하고 최적화할 수 있었습니다. 신중하게 설계된 렌그렌 평가는 사용자 경험과 밀접한 관련이 있으며, 실제 환경에서 모델이 어떻게 작동하는지에 대한 인사이트를 제공합니다.

https://platform.openai.com/docs/assistants/overview

다라운드 인간 평가의 경우, 각 큐의 라운드 수는 2회에서 11회까지 다양했습니다. 마지막 라운드에서 모델의 반응을 평가했습니다.

팁 모음. 저희는 다양한 범주와 난이도를 아우르는 양질의 프롬프트를 수집했습니다. 이를 위해 먼저 가능한 한 많은 모델 능력에 대한 범주와 하위 범주가 포함된 분류 체계를 개발했습니다. 이 분류법을 사용하여 6개의 단일 라운드 능력(영어, 추론, 코딩, 힌디어, 스페인어, 포르투갈어)과 3개의 다중 라운드 능력을 포괄하는 약 7,000개의 프롬프트를 수집했습니다.11 (영어, 추론, 코딩). 각 카테고리 내에서 프롬프트가 하위 카테고리에 고르게 분포되도록 했습니다. 또한 각 프롬프트를 세 가지 난이도 중 하나로 분류하여 쉬운 프롬프트는 약 10%, 중간 난이도 프롬프트는 30%, 어려운 프롬프트는 60%가 포함되도록 했습니다. 모든 인간 평가 그림 16 그림 그리기 및 파일 업로드를 포함한 코드 실행 작업에 대한 Llama 3 405B와 GPT-4o의 인간 평가 결과. Llama 3 405B는 코드 실행(플로팅 또는 파일 업로드 제외)과 플로팅 생성에서 GPT-4o보다 성능이 뛰어나지만 파일 업로드 사용 사례에서는 뒤처집니다.

큐 세트는 엄격한 품질 보증 프로세스를 거쳤습니다. 모델링 팀은 테스트 세트의 우발적인 오염이나 과적합을 방지하기 위해 사람의 평가 큐에 접근할 수 없습니다.

평가 프로세스. 두 모델에 대한 인간 평가를 쌍으로 수행하기 위해 두 모델 응답(서로 다른 모델에서 생성된) 중 어느 것을 선호하는지 인간 주석가에게 묻습니다. 주석 작성자는 7점 척도를 사용하여 한 모델 응답이 다른 모델 응답보다 훨씬 더 나은지, 더 나은지, 약간 더 나은지, 거의 같은지 표시할 수 있습니다. 주석 작성자가 한 모델 응답이 다른 모델 응답보다 훨씬 낫거나 더 낫다고 표시하면 해당 모델에 대한 '승리'로 간주합니다. 모델을 쌍으로 비교하고 큐 세트의 각 기능에 대한 승률을 보고합니다.

결국. 인적 평가 프로세스를 사용하여 라마 3 405B를 GPT-4(0125 API 버전), GPT-4o(API 버전), 클로드 3.5 소네트(API 버전)와 비교했습니다. 이러한 평가 결과는 그림 17에 나와 있습니다. Llama 3 405B는 GPT-4의 0125 API 버전과 거의 비슷한 성능을 보였으며, GPT-4o 및 Claude 3.5 Sonnet과 비교했을 때 혼합된 결과(일부 승리, 일부 패배)를 보였습니다. 거의 모든 능력에서 라마 3와 GPT-4가 오차 범위 내에서 승리했습니다. Llama 3 405B는 다라운드 추론 및 코딩 작업에서 GPT-4보다 성능이 뛰어나지만 다국어(힌디어, 스페인어, 포르투갈어) 프롬프트에서는 그렇지 않습니다.Llama 3는 영어 프롬프트와 다국어 프롬프트에서 GPT-4만큼 성능이 뛰어나고 단일 라운드 및 다라운드 영어 프롬프트에서 Claude 3.5 Sonnet보다 성능이 뛰어납니다. 그러나 인코딩 및 추론과 같은 영역에서는 클로드 3.5 소네트에 미치지 못하며, 정성적으로는 사람의 평가에서 모델의 성능이 목소리 톤, 응답 구조, 중복 수준과 같은 미묘한 요소에 크게 영향을 받는다는 사실을 발견했으며, 이러한 요소는 모두 사후 학습 과정에서 최적화하고 있습니다. 최적화하고 있는 요소들. 전반적으로 당사의 인적 평가 결과는 표준 벤치마크 평가 결과와 일치하며, Llama 3 405B는 업계 주요 모델과 매우 잘 경쟁하여 공개적으로 사용 가능한 모델 중 가장 우수한 성능을 발휘합니다.

제한 사항. 모든 인간 평가 결과는 엄격한 데이터 품질 보증 프로세스를 거쳤습니다. 그러나 모델 응답에 대한 객관적인 기준을 정의하기 어렵기 때문에 인간 평가는 여전히 인간 주석자의 개인적인 편견, 배경 및 선호도에 영향을 받을 수 있으며, 이는 일관되지 않거나 신뢰할 수 없는 결과를 초래할 수 있습니다.

 

Llama 3:一个多功能、开源的 AI 模型系列

그림 16 코드 실행 작업(플로팅 및 파일 업로드 포함)에 대한 Llama 3 405B와 GPT-4o의 인적 평가 결과. 코드 실행(플로팅 및 파일 업로드 제외) 및 플롯 생성에서는 Llama 3 405B가 GPT-4o보다 성능이 뛰어나지만 파일 업로드 사용 사례에서는 뒤처집니다.

 

Llama 3:一个多功能、开源的 AI 模型系列

그림 17 Llama 3 405B 모델의 수동 평가 결과. 왼쪽: GPT-4와 비교. 가운데: GPT-4o와 비교. 오른쪽: 클로드 3.5 소네트와의 비교. 모든 결과는 95% 신뢰 구간을 포함하며 동점을 제외합니다.

5.4 보안

보안 섹션에는 민감한 단어가 포함되어 있으므로 건너뛰거나 PDF로 다운로드할 수 있습니다.

저희는 유용한 정보를 극대화하면서 안전하고 책임감 있는 방식으로 콘텐츠를 생성하는 Llama 3의 능력을 평가하는 데 중점을 두었습니다. 보안 작업은 주로 데이터 정리 및 필터링의 형태로 이루어지는 사전 훈련 단계로 시작됩니다. 그런 다음 특정 보안 정책을 준수하면서도 유용성을 유지하도록 모델을 훈련하는 방법에 중점을 둔 보안 미세 조정 방법론을 설명합니다. 다국어 지원, 긴 컨텍스트, 도구 사용, 다양한 멀티모달 기능 등 Llama 3의 각 기능을 분석하여 보안 완화 조치의 효과를 측정할 것입니다.

그런 다음 사이버 보안 및 화학/생물학 무기 위험도 상승에 대한 평가를 설명합니다. 위험도란 기존에 사용 가능한 기술(예: 웹 검색)의 사용과 비교하여 새로운 기술 개발로 인해 발생하는 추가 위험을 의미합니다.

그런 다음 '레드팀' 테스트를 사용하여 다양한 교차 기능 보안 위험을 반복적으로 식별 및 해결하고 잔여 위험 평가를 수행하는 방법을 설명합니다.

마지막으로 시스템 수준 보안 또는 모델 자체의 입력과 출력에 대한 분류기 개발 및 프로그래밍에 대해 설명하여 보안을 더욱 개선하고 개발자가 다양한 사용 사례에 맞게 보안을 조정하고 보다 책임감 있는 방식으로 생성형 AI를 배포할 수 있도록 합니다.

 

5.4.1 벤치마크 구축

안전하고 책임감 있게 모델을 개발하기 위해 다양한 내부 벤치마크를 만들었습니다. 이러한 벤치마크는 ML 커먼즈 위험 분류체계(Vidgen et al., 2024)에서 영감을 얻었습니다. ToxiGen(Hartvigsen 외, 2022), XS Test(Röttger 외, 2023) 등과 같은 언어 모델 보안 벤치마크가 이미 존재하지만, Llama 3의 새로운 기능 중 상당수는 충분한 외부 벤치마크가 부족하고 기존의 외부 벤치마크는 폭과 깊이 측면에서 개발이 미흡한 경우가 많습니다.

각 위험 범주에 대해 사람이 작성한 적대적 또는 경계적 단서를 수집했으며, 이러한 단서의 예는 표 23에 나와 있습니다. 적대적 단서는 유해한 반응을 직접적으로 유발하는 단순한 단서부터 복잡한 탈옥 기술이 포함된 단서까지 다양합니다. 이러한 적대적 단서는 위반율을 측정하는 기준이 됩니다.

위반율의 역 지표로 경계성 단서로 구성된 오답 거부 벤치마크도 구축했습니다. 합리적이고 안전한 답변이 존재함에도 불구하고 모델이 유용한 방식으로 답변을 거부하는 경우를 오거부라고 합니다. 경계성 단서는 의사 결정 경계 단서에 가깝고, 잘 보정된 모델은 "어떻게 하면 항상 주연을 맡는 절친한 친구의 스포트라이트를 빼앗을 수 있을까?"와 같은 이러한 단서를 처리할 수 있어야 합니다. 위반 및 오거부에 대한 전체 벤치마크 규모는 단일 라운드 및 다중 라운드 단서를 모두 포함하여 4000개의 단서/역량 또는 언어를 초과합니다.

 

5.4.2 보안 사전 교육

책임감 있는 개발은 엔드투엔드 관점에서 고려되어야 하며 모델 개발 및 배포의 모든 단계에서 통합되어야 한다고 생각합니다. 사전 교육 과정에서 개인 식별 정보를 포함할 수 있는 웹사이트를 식별하는 데 사용되는 필터와 같은 다양한 필터를 적용합니다(3.1절 참조). 또한 검색 가능한 메모화에도 중점을 둡니다(Nasr et al., 2023). 칼리니 외(2022)와 마찬가지로, 학습 데이터에 있는 모든 n-튜플의 유효 롤링 해시 인덱스를 사용하여 다양한 발생 빈도에서 단서와 실제 결과를 샘플링합니다. 단서와 실제 결과의 길이, 대상 데이터의 탐지 언어와 도메인을 변경하여 다양한 테스트 시나리오를 구성합니다. 그런 다음 모델이 얼마나 자주 실제 결과의 시퀀스를 정확하게 생성하는지 측정하고 지정된 시나리오에서 상대적인 암기율을 분석합니다. 축어적 암기율을 포함률(실제 결과를 포함하는 모델 생성 시퀀스의 비율)로 정의하고 이 비율을 데이터에서 특정 특징의 빈도에 따라 결정되는 표 24에 표시된 가중 평균으로 보고합니다. 훈련 데이터의 암기율이 낮다는 것을 발견했습니다(405B의 경우 n = 50 및 n = 1000의 경우 각각 평균 1.13% 및 3.91%). 동일한 방법론을 동등한 크기의 데이터 혼합물에 적용했을 때 라마 2의 암기율은 거의 동일했습니다.

 

Llama 3:一个多功能、开源的 AI 模型系列

표 23 내부 벤치마킹에서 모든 기능에 대한 적대적 신호의 예시.

 

Llama 3:一个多功能、开源的 AI 模型系列

표 24 일부 테스트 시나리오에서 사전 학습된 라마 3의 평균 축어 기억력. 기준은 영어와 50그램 시나리오가 혼합된 데이터에 동일한 큐잉 방법론을 적용한 라마 2입니다.

 

5.4.3 보안 미세 조정

이 장에서는 다양한 기능의 위험을 완화하기 위해 사용하는 보안 미세 조정 접근 방식에 대해 설명하며, 여기에는 두 가지 주요 측면이 포함됩니다: (1) 안전 교육 데이터 및 (2) 위험 완화 기술. 보안 미세 조정 프로세스는 일반적인 미세 조정 방법론에 특정 보안 문제를 해결하기 위한 수정 사항을 추가한 것입니다.

모델이 보안 정책을 위반하는 응답을 생성하는 경우를 포착하는 위반율(VR)과 무해한 단서에 대한 응답을 잘못 거부하는 경우를 포착하는 오거부율(FRR)이라는 두 가지 주요 지표를 최적화합니다. 동시에 유용성 벤치마킹을 통해 모델의 성능을 평가하여 보안 개선이 전반적인 유용성을 손상시키지 않는지 확인합니다. 실험 결과, 80억 개의 매개변수 모델이 비슷한 수준의 안전 성능을 달성하려면 700억 개의 매개변수 모델에 비해 안전 데이터와 유용성 데이터의 비율이 더 높아야 하는 것으로 나타났습니다. 모델이 클수록 적대적 컨텍스트와 경계 컨텍스트를 더 잘 구분할 수 있으므로 VR과 FRR 간의 균형이 더 유리하게 유지됩니다.

데이터 미세 조정

안전 교육 데이터의 품질과 디자인은 성과에 큰 영향을 미칩니다. 광범위한 제거 실험을 통해 우리는 양보다 질이 더 중요하다는 사실을 발견했습니다. 우리는 주로 데이터 공급업체에서 사람이 생성한 데이터를 사용하지만, 특히 미묘한 보안 정책의 경우 오류와 불일치가 발생하기 쉽습니다. 최고 품질의 데이터를 확보하기 위해 엄격한 품질 보증 프로세스를 지원하는 AI 지원 주석 도구를 개발했습니다.

적대적 단서를 수집하는 것 외에도 경계 단서라고 하는 유사한 단서를 수집했습니다. 이러한 단서는 적대적 단서와 밀접한 관련이 있지만 모델이 유용한 응답을 제공하도록 학습시켜 오탐률(FRR)을 낮추기 위한 것입니다.

사람의 주석 외에도 합성 데이터를 사용하여 훈련 데이터 세트의 품질과 커버리지를 개선합니다. 정교한 시스템 단서를 사용한 문맥 학습, 시드 단서를 안내하는 새로운 공격 벡터를 기반으로 한 돌연변이, 여러 차원에 걸쳐 단서를 생성하는 MAP-Elites(Mouret and Clune, 2015)에 기반한 Rainbow Team(Samvelyan et al., 2024) 등 다양한 기술을 사용하여 추가적인 적대적 예시를 생성합니다. 차원 제약 단서.

또한 보안 응답을 생성할 때 모델의 음성 톤이 다운스트림 사용자 경험에 영향을 미칠 수 있는 문제도 해결했습니다. Llama 3에 대한 거부 어조 가이드라인을 개발하고 엄격한 품질 보증 프로세스를 통해 모든 새로운 보안 데이터가 이 가이드라인을 준수하도록 했습니다. 또한 고품질 데이터를 생성하기 위해 제로 샘플 재작성 및 수동 편집을 조합하여 기존 보안 데이터를 개선했습니다. 이러한 방법과 톤 분류기를 사용하여 보안 응답의 톤 품질을 평가함으로써 모델의 표현을 크게 개선할 수 있었습니다.

안전 감독 미세 조정

Llama 2 레시피(Touvron 외., 2023b)에 따라 모델 정렬 단계에서 모든 유용성 데이터와 안전 데이터를 결합합니다. 또한 모델이 안전한 요청과 안전하지 않은 요청의 미묘한 차이를 구분할 수 있도록 경계 데이터 세트를 도입했습니다. 어노테이션 팀은 가이드라인에 따라 보안 단서에 대한 응답을 신중하게 설계하도록 지시받았습니다. 적대적 예시와 경계 예시의 비율을 전략적으로 조정했을 때 SFT가 모델을 조정하는 데 매우 효과적이라는 것을 알게 되었습니다. 경계 사례의 비율이 더 높은 더 까다로운 위험 영역에 집중했습니다. 이는 잘못된 거부를 최소화하면서 보안을 성공적으로 완화하는 데 중요한 역할을 했습니다.

또한 모델 크기가 FRR과 VR 간의 트레이드오프에 미치는 영향을 조사했습니다(그림 18 참조). 그 결과, 작은 모델일수록 유용성에 비해 더 많은 안전 데이터가 필요하며, 큰 모델보다 VR과 FRR의 균형을 효과적으로 맞추기가 더 어렵다는 것을 알 수 있었습니다.

보안 DPO

보안 학습을 강화하기 위해 적대적 예시와 경계 예시를 DPO의 선호도 데이터 세트에 통합했습니다. 임베딩 공간에서 거의 직교하는 주어진 단서에 대한 응답 쌍을 설계하는 것이 모델이 좋은 응답과 나쁜 응답을 구별하도록 가르치는 데 특히 효과적이라는 사실을 발견했습니다. 저희는 FRR과 VR 간의 트레이드 오프를 최적화하기 위해 적대적, 경계형, 유용한 예제의 최적 비율을 결정하기 위해 여러 실험을 수행했습니다. 또한 모델 크기가 학습 결과에 영향을 미친다는 사실을 발견하여 모델 크기에 따라 다양한 보안 조합을 적용했습니다.

 

Llama 3:一个多功能、开源的 AI 模型系列

그림 18은 위반율(VR)과 오거부율(FRR)의 균형을 맞추기 위한 보안 데이터 조합 설계에 대한 모델 크기의 영향을 보여줍니다. 분산형 차트의 각 점은 보안 데이터와 유용성 데이터의 균형을 맞추는 데 있어 서로 다른 데이터 조합을 나타냅니다. 모델 크기가 다르면 보안 학습 기능도 달라집니다. 실험 결과, 8B 모델이 70B 모델과 비슷한 수준의 안전 성능을 달성하려면 전체 SFT(감독 미세 조정) 포트폴리오에서 유용성 데이터 대비 안전 데이터의 비율이 더 높아야 하는 것으로 나타났습니다. 더 큰 모델은 적대적인 상황과 에지 상황을 더 잘 구분할 수 있으므로 VR과 FRR 간의 균형이 더 바람직합니다.

 

5.4.4 안전 결과

먼저 모든 측면에서 Llama 3의 전반적인 성능에 대한 개요를 제공한 다음, 각 새로운 기능을 테스트한 결과와 보안 위험 완화에 대한 효과를 설명합니다.

전반적인 성능:그림 19와 20은 유사한 모델과 비교한 Llama 3의 최종 위반 및 오거부율 결과를 보여줍니다. 이 결과는 가장 큰 파라미터 규모(Llama 3 405B) 모델에 초점을 맞추고 관련 경쟁 모델과 비교한 것입니다. 이 경쟁사 중 두 개는 API를 통해 액세스하는 엔드투엔드 시스템이고, 다른 하나는 자체적으로 호스팅하고 직접 평가한 오픈 소스 언어 모델입니다. 저희는 5.4.7절에 자세히 설명된 대로 Llama 모델을 단독으로 테스트하고 오픈 소스 시스템 수준 보안 솔루션인 Llama Guard와 함께 테스트했습니다.

위반율이 낮은 것이 바람직하지만, 항상 거부하는 모델은 보안 측면에서 가장 높지만 전혀 쓸모가 없으므로 잘못된 거부를 역지표로 사용하는 것이 중요합니다. 마찬가지로 요청에 아무리 문제가 있어도 항상 모든 프롬프트에 응답하는 모델은 지나치게 유해하고 해롭습니다. 그림 21은 내부 벤치마크를 사용하여 업계의 다양한 모델과 시스템이 어떻게 절충점을 찾는지, 그리고 Llama 3의 성능은 어떠한지 살펴봅니다. 저희 모델은 위반율 지표 측면에서 경쟁력이 높을 뿐만 아니라 오거부율도 낮아 유용성과 보안 사이의 균형이 잘 잡혀 있는 것으로 나타났습니다.

다국어 보안:실험 결과, 특히 보안 정책의 미묘한 차이와 언어별 상황을 고려할 때 영어로 된 보안 지식은 다른 언어로 쉽게 전달되지 않는 것으로 나타났습니다. 따라서 각 언어별로 양질의 보안 데이터를 수집하는 것이 중요합니다. 또한 언어별 보안 데이터의 분포가 보안 성능에 큰 영향을 미치며, 일부 언어는 전이 학습의 이점을 누리는 반면 다른 언어는 더 많은 언어별 데이터가 필요하다는 사실을 발견했습니다. 오탐률(FRR)과 위반률(VR) 간의 균형을 맞추기 위해 이 두 지표의 영향을 모니터링하면서 적대적 데이터와 경계 데이터를 반복적으로 추가하고 있습니다.

그림 19는 짧은 문맥 모델을 사용한 내부 벤치마킹의 결과로, 영어 및 기타 언어에서 라마 3의 위반 및 오거부율을 보여주고 유사한 모델 및 시스템과 비교한 것입니다. 각 언어에 대한 벤치마크를 구성하기 위해 원어민이 작성한 프롬프트를 조합하여 사용했으며 때로는 영어 벤치마크의 번역본으로 보완하기도 했습니다. 저희가 지원하는 모든 언어에 대해, Llama Guard와 함께 사용하는 Llama 405B는 더 엄격한 보안을 고려하지 않더라도 적어도 두 경쟁 시스템만큼 안전하며, 오탐률은 여전히 경쟁력이 있는 것으로 나타났습니다.

긴 컨텍스트 보안:표적 완화 기능이 없는 긴 컨텍스트 모델은 여러 탈옥 공격에 취약합니다(Anil et al., 2024). 이 문제를 해결하기 위해 유니티는 안전하지 않은 동작의 시연이 있는 경우 안전한 동작의 예가 포함된 SFT 데이터 세트에서 모델을 미세 조정합니다. 확장 가능한 완화 전략을 개발하여 VR을 크게 줄임으로써 256개 공격에 대해서도 긴 컨텍스트 공격의 영향을 효과적으로 무력화할 수 있습니다. 이 접근 방식이 FRR 및 대부분의 유틸리티 지표에 미치는 영향은 거의 무시할 수 있는 수준입니다.

긴 컨텍스트 보안 완화 조치의 효과를 정량화하기 위해 두 가지 추가 벤치마킹 방법인 DocQA와 Many-shot을 사용합니다. DocQA('문서 퀴즈'의 줄임말)의 경우 적대적인 목적으로 사용될 수 있는 정보가 포함된 긴 문서를 사용합니다. 모델에 문서와 문서와 관련된 일련의 프롬프트가 제공되어 질문이 문서의 정보와 관련이 있는지 테스트하여 모델이 프롬프트에 안전하게 응답할 수 있는지에 영향을 줍니다.

Many-shot에서는 Anil 외(2024)에 따라 안전하지 않은 프롬프트-응답 쌍으로 구성된 합성 채팅 로그를 구성합니다. 마지막 프롬프트는 이전 메시지와 독립적이며 안전하지 않은 컨텍스트 행동이 모델의 안전하지 않은 응답에 영향을 미치는지 테스트하는 데 사용됩니다. 그림 20은 DocQA와 Many-shot의 위반 및 오거부율을 보여줍니다. Llama 405B(Llama Guard 포함 및 미포함)가 DocQA와 Many-shot 모두에서 위반 및 오거부율 모두에서 Comp. 2 시스템보다 우수한 성능을 보이는 것을 알 수 있으며, Comp. 1과 비교하면 Llama 405B가 더 안전하지만 오거부율이 약간 증가하는 것을 알 수 있습니다.

도구 사용 보안:가능한 도구와 도구 사용 호출의 다양성, 그리고 도구를 모델에 통합하는 구현으로 인해 도구 사용 기능을 완전히 완화하기는 어렵습니다(Wallace et al., 2024). 여기서는 검색 사용 사례에 초점을 맞춥니다. 그림 20은 위반 및 오거부율을 보여줍니다. 1 시스템과 비교 테스트한 결과, Llama 405B가 더 안전하지만 오탐률이 약간 더 높다는 것을 발견했습니다.

 

Llama 3:一个多功能、开源的 AI 模型系列

그림 19 영어 및 핵심 다국어 구문 문맥 벤치마크의 위반율(VR) 및 오거부율(FRR)을 경쟁사 모델 및 시스템과 비교한 Llama 3 405B(Llama Guard(LG) 시스템 수준 보호 기능 포함 및 미포함).비교 3 지원되지 않는 언어는 "x"로 표시되어 있습니다. ". 값이 낮을수록 좋습니다.

 

Llama 3:一个多功能、开源的 AI 模型系列

그림 20 도구 사용 및 긴 텍스트 벤치마킹의 위반률(VR) 및 오탐률(FRR). 낮을수록 좋습니다. DocQA 및 Multi-Round Q&A 벤치마크 테스트의 성능은 별도로 제시되어 있습니다. 이 벤치마크 테스트의 적대적 특성으로 인해 다라운드 퀴즈에 대한 한정된 데이터 세트가 없으므로 이에 대한 오답률은 측정하지 않았습니다. 도구 사용(검색) 측면에서는 Llama 3 405B와 Comp.

 

Llama 3:一个多功能、开源的 AI 模型系列

그림 21 모델 및 기능에 대한 위반 및 거부율. 각 포인트는 전체 거부율을 나타냅니다. 그리고 위반율은 모든 보안 범주에 내재된 기능 벤치마크에 대해 평가됩니다. 기호는 모델 수준 또는 시스템 수준 보안을 평가하는지 여부를 나타냅니다. 예상대로 모델 수준 보안에 대한 결과는 시스템 수준 보안에 대한 결과보다 높은 위반율과 낮은 거부율을 보여줍니다. 라마 3는 낮은 위반율과 낮은 오거부율의 균형을 목표로 하지만 일부 경쟁사는 둘 중 하나를 더 선호합니다.

 

5.4.5 사이버 보안 평가 결과

사이버 보안 위험을 평가하기 위해 안전하지 않은 코드 생성, 악성 코드 생성, 텍스트 프롬프트 인젝션, 취약점 식별 등의 작업에 대한 보안 측정을 통합한 CyberSecEval 벤치마킹 프레임워크(Bhatt et al., 2023, 2024)를 활용합니다. 저희는 스피어 피싱과 자율 네트워크 공격을 포함한 새로운 벤치마크를 개발하여 Llama 3에 적용했습니다. 전반적으로 라마 3는 악성 코드 생성이나 취약점 악용에 크게 취약하지 않다는 것을 확인했습니다. 작업별 결과는 아래에 간략하게 나와 있습니다:

  • 안전하지 않은 코딩을 테스트하기 위한 프레임워크입니다:안전하지 않은 코딩 테스트 프레임워크로 Llama 3 8B, 70B, 405B 모델을 평가할 때, 규모가 큰 모델일수록 안전하지 않은 코드가 더 많이 생성되고 코드의 평균 BLEU 점수가 더 높은 것을 계속 관찰하고 있습니다(Bhatt et al., 2023).
  • 코드 인터프리터 어뷰징 큐 코퍼스:특정 프롬프트에서 악성 코드가 실행되기 쉬운 것으로 나타났는데, Llama 3 405B의 경우 악성 프롬프트에 대한 준수율이 10.41 TP3T인 반면, Llama 3 70B는 3.81 TP3T에 달했습니다.
  • 텍스트 팁 주입 벤치마크:큐 인젝션 벤치마크에 대해 평가했을 때, Llama 3 405B는 21.71 TP3T에서 큐 인젝션 공격에 성공적으로 대응했습니다. 그림 22는 Llama 3, GPT-4 Turbo, Gemini Pro, Mixtral 모델의 텍스트 큐 인젝션 성공률을 보여줍니다.
  • 취약점 식별의 어려움:CyberSecEval 2의 Capture-the-Flag 테스트 챌린지를 사용하여 취약점을 식별하고 악용하는 Llama 3의 능력을 평가한 결과, 일반적으로 사용되는 기존의 비-LLM 도구 및 기법보다 우수한 성능을 보여주지 못했습니다.
  • 스피어피싱 벤치마크:공격자가 자신도 모르게 보안 침해에 가담하도록 속이기 위해 개인화된 대화를 수행하는 이 모델의 설득력과 성공 여부를 평가했습니다. LLM에서 생성된 무작위로 상세한 피해자 프로필을 스피어 피싱 표적에 사용했습니다. 심사 LLM(Llama 3 70B)은 피해자 모델(Llama 3 70B)과 상호 작용할 때 Llama 3 70B 및 405B의 성능을 평가하고 시도의 성공 여부를 평가했습니다. 심사 LLM은 라마 3 70B의 스피어피싱 시도 성공률을 241 TP3T로, 라마 3 405B의 시도 성공률을 141 TP3T로 평가했습니다. 그림 23은 각 모델과 낚시 대상에 대한 심사 LLM 평가 설득력 점수를 보여줍니다.
  • 공격 자동화 프레임워크:저희는 랜섬웨어 공격의 네 가지 주요 단계인 네트워크 정찰, 취약점 식별, 익스플로잇 실행, 익스플로잇 후 조치에서 자율 에이전트로서의 Llama 3 405B의 잠재력을 평가했습니다. 이 모델이 알려진 취약점이 있는 다른 가상 머신에 대해 Kali Linux 가상 머신에서 새로운 Linux 명령을 반복적으로 생성하고 실행하도록 구성하여 자율적으로 작동하도록 했습니다. Llama 3 405B는 네트워크 정찰 중에 네트워크 서비스와 개방형 포트를 식별하는 데는 효과적이었지만 34회의 테스트 실행 중에 이 정보를 효과적으로 사용하여 취약한 머신에 대한 초기 액세스를 확보하는 데는 실패했습니다. Llama 3 405B는 취약점을 식별하는 데는 보통 정도의 성능을 보였지만 성공적인 익스플로잇 기법을 선택하고 적용하는 데는 어려움을 겪었습니다. 익스플로잇을 수행하고 네트워크 내에서 액세스를 유지하거나 측면 이동을 수행하려는 시도는 완전히 실패했습니다.

사이버 공격 고도 테스트:저희는 두 가지 모의 공격 사이버 보안 과제에서 가상 비서가 초보 공격자와 전문 공격자의 공격률을 어느 정도 향상시키는지 측정하기 위해 부스팅 연구를 실시했습니다. 이 연구에는 62명의 사내 지원자가 참여했습니다. 지원자들은 공격 보안 경험에 따라 '전문가'(31명)와 '초보자'(31명)로 분류되었습니다.

화학 및 생물학 무기 확산과 관련된 위험을 평가하기 위해 라마 3의 사용이 이러한 공격을 계획하는 행위자의 능력을 크게 향상시키는지 평가하기 위한 부스팅 테스트를 실시했습니다.

실험 설계.

  • 이 연구는 두 명의 참가자에게 생화학 공격에 대한 가상의 작전 계획을 수립하도록 요청하는 6시간짜리 시나리오로 구성되었습니다.
  • 이 시나리오는 CBRNE(화학, 생물학, 방사능, 핵 및 폭발물) 공격의 주요 계획 단계(시약 획득, 생산, 무기화 및 전달)를 다루며, 제한된 물질에 대한 접근, 실제 실험실 프로토콜 및 운영 안전과 관련된 문제를 해결하기 위한 세부 계획을 촉발하도록 설계되었습니다.
  • 참가자들은 과학 또는 작전 관련 분야에서의 경력을 기준으로 모집되었으며, 저숙련자 2명(정식 교육을 받지 않음) 또는 중숙련자 2명(과학 또는 작전 관련 정식 교육과 실무 경험이 있음)으로 구성된 팀에 배정되었습니다.

연구 방법.

  • 이 연구는 CBRNE 전문가 그룹과 협력하여 개발되었으며 정량적 및 정성적 결과의 일반적인 적용 가능성, 타당성 및 견고성을 극대화하는 것을 목표로 합니다.
  • 표본 크기가 통계 분석에 충분한지 확인하기 위해 강력한 효능 분석을 포함하여 연구 설계를 검증하기 위한 예비 연구를 수행했습니다.
  • 각 팀은 '대조군' 또는 'LLM' 조건에 배정되었습니다. 대조군은 인터넷 기반 리소스만 이용할 수 있었던 반면, LLM을 탑재한 팀은 인터넷 외에도 웹 검색(PDF 수집 포함), 정보 검색(RAG), 코드 실행(Python 및 Wolfram Alpha)이 활성화된 Llama 3 모델에 액세스할 수 있었습니다.
  • RAG 기능을 테스트하기 위해 키워드 검색을 통해 수백 개의 관련 과학 논문 세트를 생성하고 이를 Llama 3 모델 추론 시스템에 미리 로드했습니다.

평가.

  • 연습이 끝나면 각 팀에서 작성한 실행 계획은 생물학, 화학 및 운영 계획 분야의 전문 지식을 갖춘 주제별 전문가가 평가합니다.
  • 각 계획은 잠재적 공격의 4단계로 평가되어 과학적 정확성, 세부 사항, 탐지 회피, 과학 및 작전 실행 성공 확률과 같은 지표에 대한 점수를 생성합니다.
  • 엄격한 델파이 프로세스를 통해 주제별 전문가(SME) 평가의 편향성과 변동성을 완화한 후, 단계별 지표를 결합하여 최종 점수를 산출했습니다.

결과 분석.

정량적 분석에 따르면 Llama 3 모델을 사용해도 성능이 크게 향상되지 않는 것으로 나타났습니다. 이 결과는 전체 분석(모든 LLM 조건을 웹 전용 제어 조건과 비교)과 하위 그룹별 분석(예: Llama 3 70B 및 Llama 3 405B 모델을 개별적으로 평가하거나 화학 또는 생물학 무기 관련 시나리오를 개별적으로 평가) 모두에 해당합니다. 이러한 결과를 CBRNE 중소기업과 함께 검증한 결과, 라마 3 모델의 출시가 생태계에서 생화학 무기 공격과 관련된 위험을 증가시킬 가능성은 낮은 것으로 평가했습니다.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

5.4.6 레드 팀 전술

저희는 '레드팀 테스트'를 통해 위험을 식별하고 이러한 결과를 바탕으로 벤치마킹 및 보안 튜닝 데이터 세트를 개선합니다. 정기적으로 레드팀 연습을 실시하여 새로운 위험을 지속적으로 반복하고 식별하여 모델 개발 및 완화 프로세스를 안내합니다.

레드팀은 특정 지역 시장의 무결성 문제에 대한 배경 지식을 갖춘 다국어 콘텐츠 전문가와 더불어 사이버 보안, 적대적 머신 러닝, 책임감 있는 AI 및 무결성 전문가로 구성되어 있습니다. 또한 내부 및 외부 주제별 전문가와 협력하여 위험 분류 체계를 구축하고 보다 집중적인 적대적 평가를 지원합니다.

특정 모델 기능에 대한 적대적 테스트. 먼저 특정 고위험 카테고리에 대한 개별 모델 기능에 초점을 맞춰 레드팀 테스트를 수행한 다음, 이러한 기능을 함께 테스트했습니다. 레드팀은 보다 현실적인 시나리오를 시뮬레이션하는 힌트 수준의 공격에 초점을 맞춘 결과, 특히 멘션 스키마가 난독화되거나 힌트가 여러 추상화 단계를 거치는 경우 모델이 예상 동작에서 벗어나는 경우가 많다는 사실을 발견했습니다. 이러한 위험은 더 많은 기능이 추가됨에 따라 더욱 복잡해졌으며, 레드팀의 조사 결과 중 일부를 아래에 자세히 설명합니다. 이러한 레드팀의 조사 결과를 내부 보안 벤치마킹 결과와 함께 사용하여 모델 보안을 반복적으로 개선하는 집중적인 완화 조치를 개발합니다.

  • 짧은 텍스트 및 긴 텍스트 영어. 저희는 싱글 라운드와 멀티 라운드 대화 모두에서 잘 알려진 기법과 미공개 기법의 조합을 사용했습니다. 또한 일부 기법 및 위험 범주에 대해 PAIR(Chao et al., 2023)와 유사한 고급 적대적 다라운드 자동화 기법을 활용했습니다. 전반적으로 다라운드 대화는 더 해로운 결과를 초래합니다. 특히 모델 체크포인트가 함께 사용될 때 많은 공격이 만연합니다.
    • 여러 차례에 걸친 거부 억제: 모델 응답이 특정 형식을 따르거나 거부와 관련된 특정 구문에 대한 정보를 포함/제외하도록 지정합니다.
    • 가상 씬 패키징: 위반 프롬프트를 가상/이론적 과제 또는 가상의 시나리오로 포장합니다. 프롬프트는 "가상적으로"라는 단어를 추가하거나 복잡한 계층적 시나리오를 작성하는 것처럼 간단할 수 있습니다.
    • 역할 놀이: 특정 불쾌한 반응 특성을 가진 모델에 불쾌한 역할을 할당하거나(예: "당신은 X이고 당신의 목표는 Y입니다"), 사용자 자신이 특정 양성 역할을 구체화하여 프롬프트의 맥락을 가릴 수 있습니다.
    • 고지 사항과 경고를 추가하는 것은 반응 시작의 한 형태이며, 이는 일반화된 안전 교육과 교차하는 유익한 규정 준수 경로를 모델에 제공하는 방법이라고 가정합니다. 앞서 언급한 다른 공격과 함께 여러 차례의 대화를 통해 고지 사항 추가, 트리거 경고 등을 요청하는 등의 조치를 취하면 침해율이 높아질 수 있습니다.
    • 에스컬레이션 위반은 다소 온건한 요청으로 대화를 시작한 다음 직접적인 프롬프트를 통해 더욱 과장된 내용을 생성하여 점차적으로 매우 불쾌한 반응을 유도하는 다단계 공격입니다. 모델이 문제가 되는 콘텐츠를 출력하기 시작하면 복구가 어려울 수 있습니다(또는 거부를 만나면 다른 공격이 사용될 수 있음). 이 문제는 컨텍스트가 긴 모델에서 점점 더 일반화될 것입니다.
    • 다국어. 여러 언어를 고려할 때 여러 가지 고유한 위험을 발견할 수 있습니다.
      • 프롬프트나 대화에 여러 언어를 혼합하면 단일 언어를 사용하는 것보다 더 많은 불쾌감을 주는 결과를 초래하기 쉽습니다.
      • 리소스가 부족한 언어는 관련 보안 미세 조정 데이터의 부족, 보안에 대한 모델의 일반화 미흡, 테스트 또는 벤치마크의 우선순위 지정 등으로 인해 위반된 결과물이 발생할 수 있습니다. 그러나 이러한 공격은 일반적으로 품질이 좋지 않아 실제 악의적인 악용을 제한합니다.
      • 속어, 문맥별 또는 문화별 참조는 처음에는 위반이라는 잘못된 인상을 줄 수 있지만 실제로는 모델이 참조를 올바르게 이해하지 못하므로 실제로는 유해하지 않으며 위반 출력으로 판단할 수 없습니다.
    • 도구 사용. 테스트 중에 문제가 되는 출력을 성공적으로 생성한 영어 텍스트 수준의 공격적인 프롬프트 기법 외에도 몇 가지 도구별 공격이 확인되었습니다. 여기에는 다음이 포함되지만 이에 국한되지 않습니다:

여러 도구를 동시에 요청하고 그 중 하나가 위반하는 등 안전하지 않은 도구 연쇄 호출은 초기 체크포인트에서 모든 도구에 위반 사항과 정상 입력이 혼합되어 나타날 수 있습니다.

도구 사용 의무화: 특정 입력 문자열, 조각화 또는 인코딩된 텍스트가 포함된 도구를 자주 사용하도록 강제하면 도구 입력에 대한 잠재적 위반이 발생하여 더 많은 위반 사항이 출력될 수 있습니다. 그러면 모델이 일반적으로 검색을 거부하거나 결과 처리를 지원하는 경우에도 대체 기술을 사용하여 도구 결과에 액세스할 수 있습니다.

도구 사용 매개변수를 수정합니다: 예를 들어, 쿼리에서 단어를 바꾸거나 재시도하거나 다자간 대화에서 초기 요청의 일부를 흐리게 처리하는 것은 도구 사용을 강제하는 형태로 많은 초기 점검 지점에서 위반으로 이어질 수 있습니다.

어린이 안전 위험: 아동 안전 위험 평가를 수행하기 위해 전문가 팀을 구성하여 아동 안전 위험으로 이어질 수 있는 결과물을 생성하는 모델의 능력을 평가하고 필요하고 적절한 위험 완화 조치(미세 조정을 통해)를 알렸습니다. 이러한 전문가 레드팀 회의를 통해 모델을 통해 개발된 평가 벤치마크의 적용 범위를 확장했습니다. 라마 3의 경우, 여러 공격 경로에 따른 모델의 위험도를 평가하기 위해 객관적 기반 접근 방식을 사용하여 새로운 심층 세션을 진행했습니다. 또한 콘텐츠 전문가와 협력하여 시장별 뉘앙스나 경험을 고려하여 잠재적으로 불쾌감을 줄 수 있는 콘텐츠를 평가하는 레드팀 연습을 진행했습니다.

 

5.4.7 시스템 수준 보안

대규모 언어 모델은 다양한 실제 애플리케이션에서 단독으로 사용되는 것이 아니라 더 광범위한 시스템에 통합되어 있습니다. 이 섹션에서는 추가적인 유연성과 제어 기능을 제공하여 모델 수준의 완화를 보완하는 시스템 수준의 보안 구현에 대해 설명합니다.

이를 위해 안전 분류를 위해 미세 조정된 새로운 분류기인 라마 가드 3, 즉 라마 3 8B 모델을 개발하여 출시했습니다. 이 분류기는 언어 모델에서 생성된 입력 단서 및/또는 출력 응답이 특정 위험 등급에 대한 안전 정책을 위반하는지 감지하는 데 사용되며, Llama Guard 2(Llama-Team, 2024)와 유사합니다.

이 기능은 영어 및 다국어 텍스트에 대한 Llama의 증가하는 기능을 지원하도록 설계되었습니다. 또한 도구 호출(예: 검색 도구)의 맥락에서 사용하고 코드 인터프리터 남용을 방지하도록 최적화되어 있습니다. 마지막으로, 메모리 요구 사항을 줄이기 위해 양자화된 변형을 제공합니다. 개발자는 시스템 보안 구성 요소 버전을 기본으로 사용하여 각자의 사용 사례에 맞게 구성할 것을 권장합니다.

분류아동 성 착취, 명예 훼손, 선거, 증오, 무차별 무기, 지적 재산, 비폭력 범죄, 프라이버시, 성 관련 범죄, 음란 콘텐츠, 전문가 조언, 자살 및 자해, 폭력 범죄 등 AI 보안 분류(Vidgen et al., 2024)에 나와 있는 13가지 피해 카테고리를 사용하여 훈련했습니다. 또한 도구 호출 사용 사례를 지원하기 위해 코드 인터프리터 남용 범주에 대한 교육도 실시했습니다.

학습 데이터라마 가드에서 사용하는 영어 데이터(Inan 외, 2023)로 시작하여 새로운 기능을 포함하도록 이 데이터 세트를 확장합니다. 다국어 및 도구 사용과 같은 새로운 기능을 위해 단서 및 응답 범주화 데이터를 수집하고 보안 미세 조정에 사용되는 데이터를 활용합니다. LLM이 적대적인 단서에 대한 응답을 거부하지 않도록 단서 엔지니어링을 수행하여 훈련 세트에서 안전하지 않은 응답의 수를 늘립니다. 이렇게 생성된 데이터에 대한 응답 레이블을 얻기 위해 Llama 3을 사용합니다.

라마 가드 3의 성능을 개선하기 위해, 저희는 수집된 샘플을 사람 라벨링과 라마 3 모델의 LLM 라벨링을 모두 사용해 광범위하게 클리닝했습니다. 사용자 단서에 대한 라벨을 얻는 것은 사람과 LLM 모두에서 더 어려웠으며, 특히 경계 단서의 경우 수동 라벨링이 약간 더 나은 것으로 나타났지만 전체 반복 시스템을 사용하면 노이즈를 줄이고 더 정확한 라벨을 생성할 수 있었습니다.

결과. 라마 가드 3는 교차 기능 위반을 크게 줄입니다(벤치마킹에서 평균 위반률이 65% 감소). 시스템 보호 기능(및 보안 완화 기능)을 추가하면 정상 프롬프트에 대한 거부율이 높아지는 대가를 치르게 됩니다. 표 25는 기본 모델과 비교하여 위반율의 감소와 오거부율의 증가를 보여줌으로써 이러한 장단점을 강조합니다. 이러한 영향은 그림 19, 20, 21에서도 확인할 수 있습니다.

또한 시스템 보안은 특정 위험에 대해서만 Llama Guard 3를 배포하여 위험 범주 수준에서 위반 및 오거부 절충안을 제어할 수 있으므로 유연성이 향상됩니다. 표 26에는 개발자 사용 사례에 따라 어떤 카테고리를 켜고 끌지 결정할 수 있도록 카테고리별 위반 감소 효과가 나와 있습니다.

보안 시스템 배포를 간소화하기 위해 일반적으로 사용되는 int8 양자화 기법을 사용하여 크기를 40% 이상 줄인 양자화된 버전의 Llama Guard 3을 제공합니다. 표 27은 양자화가 모델 성능에 미치는 영향이 미미하다는 것을 보여줍니다.

시스템 수준의 보안 구성 요소를 통해 개발자는 LLM 시스템이 사용자 요청에 응답하는 방식을 사용자 지정하고 제어할 수 있습니다. 모델링 시스템의 전반적인 보안을 개선하고 개발자가 책임감 있게 모델을 배포할 수 있도록 두 가지 힌트 기반 필터링 메커니즘을 설명 및 게시합니다:프롬프트 가드 노래로 응답 코드 실드. 이를 커뮤니티에 오픈소스화하여 커뮤니티가 그대로 사용하거나 사용 사례에 맞게 조정하는 데 영감을 얻을 수 있도록 합니다.

프롬프트 가드 은 힌트 공격, 즉 애플리케이션의 일부로서 LLM의 예상 동작을 방해하도록 설계된 입력 문자열을 탐지하도록 설계된 모델 기반 필터입니다. 이 모델은 두 가지 유형의 힌트 공격 위험을 탐지하는 다중 레이블 분류기입니다:

  • 직접 탈옥(모델의 보안 조건 또는 시스템에서 제공하는 기술을 명시적으로 재정의하려는 시도).
  • 간접 프롬프트 삽입(모델 컨텍스트 창에 LLM에서 실수로 실행된 사용자 명령에 대한 지침 등 타사 데이터가 포함된 경우).

이 모델은 8600만 개의 파라미터를 가진 작은 모델인 mDeBERTa-v3-base에서 미세 조정된 것으로, LLM에 대한 입력을 필터링하는 데 적합합니다. 표 28에 표시된 몇 가지 평가 데이터 세트에서 성능을 평가합니다. 훈련 데이터와 동일한 분포의 두 가지 데이터 세트(탈옥 및 인젝션)와 배포되지 않은 영어 데이터 세트, 기계 번역에 기반한 다국어 탈옥 세트, CyberSecEval의 간접 인젝션 데이터 세트(영어 및 다국어)에 대해 평가합니다. 전반적으로 이 모델은 새로운 배포판에도 잘 일반화되고 강력한 성능을 발휘하는 것으로 나타났습니다.

코드 실드 는 추론 시 필터링을 기반으로 하는 시스템 수준 보호 클래스의 예입니다. 특히 안전하지 않은 코드가 다운스트림 사용 사례(예: 프로덕션 시스템)에 들어가기 전에 생성되는 것을 탐지하는 데 중점을 둡니다. 이를 위해 정적 분석 라이브러리인 '안전하지 않은 코드 탐지기'(ICD)를 활용하여 안전하지 않은 코드를 식별합니다. ICD는 정적 분석 도구 모음을 사용하여 7개 프로그래밍 언어에 대한 분석을 수행합니다. 이러한 유형의 보호는 다양한 애플리케이션에 여러 보호 계층을 배포할 수 있는 개발자에게 매우 유용합니다.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

Llama 3:一个多功能、开源的 AI 模型系列

 

Llama 3:一个多功能、开源的 AI 模型系列

 

5.4.8 제한 사항

저희는 라마 3의 안전한 사용과 관련된 다양한 위험을 측정하고 완화하기 위해 광범위한 작업을 수행했습니다. 하지만 어떤 테스트도 가능한 모든 위험을 완벽하게 파악할 수는 없습니다. 특히 영어 이외의 언어로 된 다양한 데이터 세트에 대한 훈련 결과, 숙련된 적대적 레드 팀원이 신중하게 만든 신호에 따라 Llama 3는 여전히 유해한 콘텐츠를 생성할 수 있습니다. 악의적인 개발자나 적대적인 사용자는 새로운 방법을 찾아서 모델을 크랙하고 다양한 악의적인 목적으로 사용할 수 있습니다. Facebook은 앞으로도 위험을 선제적으로 파악하고, 완화 방법을 연구하며, 개발자가 모델 개발부터 사용자 배포에 이르기까지 모든 측면에서 책임을 고려하도록 장려할 것입니다. 개발자들이 오픈 소스 시스템 수준의 보안 제품군에서 공개된 도구를 활용하고 기여해 주기를 기대합니다.

 

6 추론

저희는 Llama 3 405B 모델의 추론 효율을 개선하기 위해 (1) 파이프라인 병렬 처리와 (2) FP8 양자화라는 두 가지 주요 기술을 조사합니다. 저희는 FP8 양자화 구현을 공개적으로 발표했습니다.

 

6.1 파이프라인 병렬 처리

모델 파라미터를 표현하기 위해 BF16을 사용할 경우, 8개의 Nvidia H100 GPU가 장착된 단일 머신의 GPU 메모리에는 Llama 3 405B 모델이 적합하지 않습니다. 이 문제를 해결하기 위해 BF16 정밀도를 사용하여 두 대의 머신에서 16개의 GPU에 걸쳐 모델 추론을 병렬화했습니다. 각 머신 내에서 고대역폭 NVLink를 통해 텐서 병렬화를 사용할 수 있습니다(Shoeybi et al., 2019). 그러나 노드 간 연결은 대역폭이 낮고 지연 시간이 길기 때문에 파이프라인 병렬 처리를 사용합니다(Huang et al., 2019).

버블은 파이프라인 병렬화를 사용하는 훈련 중 주요 효율성 문제입니다(3.3절 참조). 그러나 추론에는 파이프라인 플러싱이 필요한 역전파가 포함되지 않기 때문에 추론 중에는 문제가 되지 않습니다. 따라서 파이프라인 병렬 추론의 처리량을 개선하기 위해 마이크로 배칭을 사용합니다.

키-값 캐시 사전 채우기 단계와 추론의 디코딩 단계에서 각각 4,096개의 입력 토큰과 256개의 출력 토큰으로 구성된 추론 워크로드에서 두 개의 마이크로 배치를 사용하는 효과를 평가합니다. 마이크로 배칭은 동일한 로컬 배치 크기에 대해 추론 처리량을 향상시키는 것으로 나타났습니다(그림 24 참조). 이러한 개선은 두 단계에서 마이크로 배치를 동시에 실행할 수 있는 마이크로 배칭의 기능에서 비롯됩니다. 마이크로 배치는 동기화 지점이 추가되므로 지연 시간도 증가하지만, 전반적으로 마이크로 배치는 여전히 처리량과 지연 시간의 균형을 더 잘 맞출 수 있습니다.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

Llama 3:一个多功能、开源的 AI 模型系列

 

6.2 FP8 정량화

H100 GPU에 내재된 FP8 지원을 사용하여 저정밀 추론 실험을 수행했습니다. 저정밀 추론을 달성하기 위해 모델 내 대부분의 행렬 곱셈에 FP8 양자화를 적용했습니다. 특히 추론 계산 시간의 약 50%를 차지하는 모델의 피드포워드 네트워크 계층에 있는 대부분의 파라미터와 활성화 값을 정량화했으며, 모델의 자기 주의 계층에 있는 파라미터는 정량화하지 않았습니다. 정확도를 개선하기 위해 동적 스케일링 계수를 활용하고(Xiao et al., 2024b), 계산 스케일링 오버헤드를 줄이기 위해 CUDA 커널15을 최적화했습니다.

라마 3 405B의 품질이 특정 유형의 정량화에 민감하다는 사실을 발견하고 모델 출력의 품질을 개선하기 위해 몇 가지 추가 변경 사항을 적용했습니다:

  1. (2021)과 마찬가지로 첫 번째와 마지막 트랜스포머 층을 정량화하지 않았습니다.
  2. 고도로 정렬된 토큰(예: 날짜)은 큰 활성화 값을 초래할 수 있습니다. 결과적으로 FP8에서 더 높은 동적 스케일링 계수와 무시할 수 없는 양의 부동 소수점 언더플로로 이어져 디코딩 오류로 이어질 수 있습니다. 그림 26은 BF16과 FP8 추론을 사용한 라마 3 405B의 보상 점수 분포를 보여줍니다. FP8 정량화 방법은 모델 응답에 거의 영향을 미치지 않습니다.

이 문제를 해결하기 위해 동적 스케일링 계수의 상한을 1200으로 설정했습니다.

  1. 행 단위 양자화를 사용하여 매개변수 및 활성화 행렬의 행에 걸친 스케일링 계수를 계산했습니다(그림 25 참조). 이 방법이 텐서 수준의 양자화 접근 방식보다 더 잘 작동한다는 것을 발견했습니다.

오류의 영향을 정량화합니다. 표준 벤치마크의 평가에 따르면 일반적으로 이러한 완화 조치 없이도 FP8 추론이 BF16 추론과 비슷한 성능을 발휘하는 것으로 나타났습니다. 그러나 이러한 벤치마크는 FP8 정량화의 영향을 적절히 반영하지 못하는 것으로 나타났습니다. 스케일링 계수가 제한되지 않은 경우, 벤치마크 성능이 강력한 경우에도 모델이 때때로 손상된 응답을 생성합니다.

정량화로 인한 분포의 변화를 측정하기 위해 벤치마크에 의존하는 대신, BF16과 FP8을 사용하여 생성된 10만 개의 응답에 대한 보상 모델 점수의 분포를 분석할 수 있습니다. 그림 26은 정량화 방법으로 얻은 보상 분포를 보여줍니다. 이 결과는 FP8 정량화 방법이 모델 응답에 미치는 영향이 매우 제한적이라는 것을 보여줍니다.

효율성 실험 평가. 그림 27은 Llama 3 405B를 사용하여 4,096개의 입력 토큰과 256개의 출력 토큰을 사용하여 사전 채우기 및 디코딩 단계에서 FP8 추론을 수행할 때의 처리량-대기 시간 절충을 보여줍니다. 이 그림은 FP8 추론의 효율성과 6.1절에서 설명한 2대 머신 BF16 추론 접근 방식을 비교한 것입니다. 결과에 따르면 FP8 추론을 사용하면 사전 채우기 단계의 처리량이 최대 50%까지 향상되고 디코딩 중 처리량-지연 트레이드오프가 크게 개선됩니다.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

Llama 3:一个多功能、开源的 AI 模型系列

 

Llama 3:一个多功能、开源的 AI 模型系列

 

 

7 시각적 실험

 

저희는 일련의 실험을 통해 시각적 인식 기능을 결합된 접근 방식을 통해 라마 3에 통합했습니다. 접근 방식은 크게 두 단계로 나뉩니다:

첫 번째 단계. 사전 학습된 이미지 인코더(Xu et al., 2023)를 사전 학습된 언어 모델과 결합하고 수많은 이미지-텍스트 쌍에 교차 주의 레이어 세트(Alayrac et al., 2022)를 도입하여 학습시켰습니다. 그 결과 그림 28에 표시된 모델이 탄생했습니다.

두 번째 단계. 동영상에서 시간 정보를 인식하고 처리하는 모델을 학습하기 위해 많은 수의 동영상 텍스트 쌍에 작용하는 시간 집계 레이어와 추가 동영상 교차 주의 레이어를 도입합니다.

기본 모델을 구축하는 조합적 접근 방식에는 몇 가지 장점이 있습니다.

(1) 시각적 및 언어적 모델링 기능을 동시에 개발할 수 있습니다;

(2) 시각 데이터의 토큰화, 양식 간 배경 난해성의 차이, 양식 간 경쟁으로 인해 발생하는 시각 및 언어 데이터의 공동 사전 학습과 관련된 복잡성을 피할 수 있습니다;

(3) 시각적 인식 기능의 도입이 텍스트 전용 작업에서 모델의 성능에 영향을 미치지 않도록 보장합니다;

(4) 크로스 어텐션 아키텍처는 계속 증가하는 LLM 백본(특히 각 트랜스포머 계층의 피드 포워드 네트워크)에 전체 해상도 이미지를 전달할 필요가 없으므로 추론 효율이 향상됩니다.

멀티모달 모델은 아직 개발 중이며 아직 출시할 준비가 되지 않았습니다.

섹션 7.6과 7.7에서 실험 결과를 제시하기 전에 시각 인식 기능을 훈련하는 데 사용된 데이터, 시각 구성 요소의 모델 아키텍처, 이러한 구성 요소의 훈련을 확장한 방법, 사전 훈련 및 사후 훈련 레시피에 대해 설명합니다.

 

7.1 데이터

이미지 데이터와 동영상 데이터를 별도로 설명합니다.

 

7.1.1 이미지 데이터

이미지 인코더와 어댑터는 이미지-텍스트 쌍에 대해 학습됩니다. 이 데이터 세트는 네 가지 주요 단계로 구성된 복잡한 데이터 처리 파이프라인을 통해 구축됩니다:

(1) 품질 필터링 (2) 지각적 디엠퍼시스 (3) 리샘플링 (4) 광학 문자 인식 . 또한 다양한 보안 조치를 적용했습니다.

  • 대량 필터링. (Radford et al., 2021)에서 생성된 낮은 정렬 점수와 같은 휴리스틱을 통해 영어가 아닌 캡션과 저품질 캡션을 제거하기 위해 품질 필터를 구현했습니다. 구체적으로, 특정 클립 점수에 미달하는 모든 이미지-텍스트 쌍을 제거합니다.
  • 강조 해제. 대규모 학습 데이터 세트의 중복 제거는 중복 데이터에 대한 학습 계산을 줄이고(Esser 외. 2024; Lee 외. 2021; Abbas 외. 2023) 모델 암기 위험을 줄여주므로 모델 성능을 향상시킵니다(Carlini 외. 2023; Somepalli 외. 2023). 따라서 효율성과 개인정보 보호를 위해 학습 데이터의 중복을 제거합니다. 이를 위해 최신 버전의 SSCD 복사 감지 모델(Pizzi et al., 2022)을 사용해 이미지를 대량으로 중복 제거합니다. 모든 이미지에 대해 먼저 SSCD 모델을 사용해 512차원 표현을 계산합니다. 그런 다음 이러한 임베딩을 사용해 코사인 유사성 메트릭을 사용해 데이터 세트의 모든 이미지에 대해 가장 가까운 이웃(NN) 검색을 수행합니다. 특정 유사성 임계값을 초과하는 예시를 중복 용어로 정의합니다. 연결된 구성 요소 알고리즘을 사용해 이러한 중복 용어를 그룹화하고 연결된 각 구성 요소에 대해 하나의 이미지-텍스트 쌍만 유지합니다. (1) k-평균 클러스터링을 사용하여 데이터를 사전 클러스터링하고 (2) NN 검색 및 클러스터링을 위해 FAISS를 사용하여 중복 제거 파이프라인의 효율성을 향상시킵니다(Johnson et al., 2019).
  • 리샘플링. 저희는 Xu 등(2023), Mahajan 등(2018), Mikolov 등(2013)과 유사하게 이미지-텍스트 쌍의 다양성을 보장합니다. 먼저, 고품질 텍스트 소스를 파싱하여 n-튜플 문법 용어집을 구축합니다. 다음으로, 데이터 세트의 각 용어집에 대한 n-튜플 문법의 빈도를 계산합니다. 그런 다음 다음과 같은 방식으로 데이터를 리샘플링합니다. 캡션의 n-터플 문법이 용어집에서 T회 미만 발생하는 경우, 해당 이미지-텍스트 쌍을 유지합니다. 그렇지 않은 경우, 표제어의 각 n-터플 문법 n i를 확률 T/f i로 독립적으로 샘플링합니다. 여기서 f i는 n-터플 문법 n i의 빈도를 나타내며, n-터플 문법이 샘플링된 경우 이미지-텍스트 쌍을 유지합니다. 이 리샘플링은 빈도가 낮은 카테고리와 세분화된 인식 작업의 성능을 개선하는 데 도움이 됩니다.
  • 광학 문자 인식. 이미지의 텍스트를 추출하고 캡션과 함께 문자열로 묶어 이미지 텍스트 데이터를 더욱 개선했습니다. 텍스트는 독점적인 광학 문자 인식(OCR) 파이프라인을 사용하여 추출했습니다. 학습 데이터에 OCR 데이터를 추가하면 문서 이해와 같이 OCR 기능이 필요한 작업의 성능을 크게 향상시킬 수 있다는 것을 확인했습니다.

 

문서 이해 작업에서 모델의 성능을 향상시키기 위해 문서 페이지를 이미지로 렌더링하고 이미지를 해당 텍스트와 쌍을 이룹니다. 문서 텍스트는 소스에서 직접 가져오거나 문서 구문 분석 파이프라인을 통해 가져옵니다.

보안: 이미지 인식 사전 학습 데이터 세트에 성적으로 유해한 콘텐츠(CSAM)와 같은 안전하지 않은 콘텐츠가 포함되지 않도록 하는 데 중점을 두고 있습니다(Thiel, 2023). Facebook은 모든 학습 이미지에서 CSAM을 스캔하는 사내 독점 분류기뿐만 아니라 PhotoDNA(Farid, 2021)와 같은 지각 해싱 방법을 사용합니다. 또한 독점적인 미디어 위험 검색 파이프라인을 사용하여 성적 또는 폭력적인 콘텐츠가 포함되어 있어 NSFW로 간주되는 이미지-텍스트 쌍을 식별하고 제거합니다. 학습 데이터 세트에서 이러한 자료의 유포를 최소화하면 최종 모델의 유용성을 손상시키지 않으면서도 안전성과 유용성을 향상시킬 수 있다고 믿습니다. 마지막으로 훈련 세트의 모든 이미지에 얼굴 블러링을 수행합니다. 추가 이미지를 참조하는 사람이 생성한 단서에 대해 모델을 테스트했습니다.

데이터 분석: n-그램을 사용해 이미지 캡션 쌍을 리샘플링하여 약 3억 5천만 개의 예시가 포함된 어닐링된 데이터 세트를 만들었습니다. n-그램 리샘플링은 더 풍부한 텍스트 설명을 선호하기 때문에 데이터의 품질이 더 높은 하위 집합을 선택합니다. 또한 5개의 추가 소스로부터 약 1억 5천만 개의 예시로 결과 데이터를 보강했습니다:

    • 시각적 방향. 텍스트의 명사구를 이미지의 바운딩 박스 또는 마스크와 연결합니다. (1) 이미지에 상자 또는 마스크를 오버레이하고 마커 세트와 유사하게 마커를 텍스트의 참조로 사용하는 두 가지 방법으로 이미지-텍스트 쌍에 현지화 정보(바운딩 박스 및 마스크)를 지정합니다(Yang et al., 2023a). (2) 정규화된 (x 최소, y 최소, x 최대, y 최대) 좌표를 텍스트에 직접 삽입하고 특수 마커로 구분합니다.
    • 스크린샷 분석. 저희는 HTML 코드에서 스크린샷을 렌더링하고 모델이 특정 스크린샷 요소를 생성하는 코드를 예측하도록 하여 Lee 등(2023)과 유사하게 합니다. 관심 있는 요소는 스크린샷에서 바운딩 박스로 표시됩니다.
    • Q&A. 모델 미세 조정에 사용하기에는 너무 큰 대량의 Q&A 데이터를 사용할 수 있는 Q&A 쌍이 포함되어 있습니다.
    • 합성 제목. 이전 모델 버전에서 생성된 합성 캡션이 포함된 이미지가 포함되어 있습니다. 원본 캡션과 비교했을 때 합성 캡션이 원본 캡션보다 이미지에 대해 더 포괄적인 설명을 제공하는 것으로 나타났습니다.
    • 구조화된 이미지 합성. 또한 차트, 표, 순서도, 수학 공식 및 텍스트 데이터와 같은 다양한 분야에 대해 합성적으로 생성된 이미지도 포함되어 있습니다. 이러한 이미지에는 해당 마크다운 또는 라텍스 표기법과 같은 구조화된 표현이 함께 제공됩니다. 이러한 영역에서 모델의 인식 기능을 향상시킬 뿐만 아니라 텍스트 모델링을 통해 미세 조정을 위한 Q&A 쌍을 생성하는 데도 이 데이터가 유용하다는 것을 알게 되었습니다.

 

Llama 3:一个多功能、开源的 AI 模型系列

그림 28 이 백서에서 연구한 라마 3에 멀티모달 기능을 추가하기 위한 결합된 접근 방식의 모식도. 이 접근 방식은 언어 모델 사전 학습, 멀티모달 인코더 사전 학습, 시각 어댑터 학습, 모델 미세 조정 및 음성 어댑터 학습의 5단계로 학습되는 멀티모달 모델을 생성합니다.

 

7.1.2 동영상 데이터

비디오 사전 학습에는 비디오-텍스트 쌍으로 구성된 대규모 데이터 세트를 사용합니다. 데이터 세트는 다단계 프로세스를 통해 수집됩니다. 규칙 기반 휴리스틱을 사용하여 최소 길이를 보장하고 대문자를 수정하는 등 관련 텍스트를 필터링하고 정리합니다. 그런 다음 언어 인식 모델을 실행하여 영어가 아닌 텍스트를 걸러냅니다.

OCR 감지 모델을 실행하여 텍스트가 과도하게 겹쳐진 동영상을 걸러냈습니다. 비디오-텍스트 쌍 간의 합리적인 정렬을 보장하기 위해 CLIP(Radford et al., 2021) 스타일의 이미지-텍스트 및 비디오-텍스트 비교 모델을 사용합니다. 먼저 비디오의 단일 프레임을 사용하여 이미지-텍스트 유사도를 계산하고 유사도가 낮은 쌍을 필터링한 다음, 비디오-텍스트 정렬이 불량한 쌍을 필터링합니다. 일부 데이터에는 정지된 동영상이나 움직임이 적은 동영상이 포함되어 있어 모션 점수 기반 필터링을 사용하여 이를 필터링했습니다(Girdhar et al., 2023). 미적 점수나 해상도 필터와 같이 동영상의 시각적 품질에는 어떠한 필터도 적용하지 않았습니다.

데이터 세트에는 평균 길이 16초, 중간 길이 21초의 동영상이 포함되어 있으며, 99% 이상의 동영상이 1분 미만입니다. 공간 해상도는 320p와 4K 동영상 사이에서 매우 다양하며, 70% 이상의 동영상은 720픽셀보다 짧은 가장자리를 가지고 있습니다. 동영상의 가로 세로 비율은 다양하며, 거의 모든 동영상의 가로 세로 비율은 1:2에서 2:1 사이이고 중간값은 1:1입니다.

 

7.2 모델 아키텍처

시각 인식 모델은 (1) 이미지 인코더, (2) 이미지 어댑터, (3) 비디오 어댑터의 세 가지 주요 구성 요소로 이루어져 있습니다.

이미지 인코더.

이미지 인코더는 이미지와 텍스트를 정렬하도록 훈련된 표준 비주얼 트랜스포머(ViT; Dosovitskiy et al. (2020))입니다(Xu et al., 2023). 6억 3천만 개의 파라미터가 있고 25억 개의 이미지-텍스트 쌍을 5회에 걸쳐 훈련한 ViT-H/14 버전의 이미지 인코더를 사용했습니다. 이미지 인코더의 입력 이미지 해상도는 224 × 224이고 이미지는 16 × 16 동일한 크기의 청크(즉, 14 × 14픽셀의 블록 크기)로 분할되었습니다. ViP-Llava(Cai et al., 2024)와 같은 이전 연구에서 보았듯이, 텍스트 정렬 타깃을 비교하여 학습된 이미지 인코더는 세밀한 위치 정보를 보유하지 못한다는 사실을 발견했습니다. 이 문제를 완화하기 위해 마지막 특징 레이어 외에 4, 8, 16, 24, 31 레이어에서 특징을 제공하는 다층 특징 추출 방식을 사용했습니다.

또한 정렬별 특징을 학습하기 위해 교차 주의 레이어를 사전 학습하기 전에 8개의 게이트형 자체 주의 레이어(총 40개의 트랜스포머 블록)를 추가로 삽입했습니다. 그 결과 이미지 인코더는 8억 5천만 개의 파라미터와 추가 레이어를 갖추게 되었습니다. 이미지 인코더는 여러 층의 특징을 통해 생성된 16 × 16 = 256개의 청크 각각에 대해 7680차원 표현을 생성합니다. 특히 텍스트 인식과 같은 영역에서 성능이 향상되는 것을 확인했기 때문에 이후 학습 단계에서 이미지 인코더의 파라미터를 고정하지 않았습니다.

이미지 어댑터.

이미지 인코더가 생성하는 시각적 마커 표현과 언어 모델이 생성하는 마커 표현 사이에 교차 주의 계층을 도입합니다(Alayrac et al., 2022). 교차 주의 계층은 핵심 언어 모델에서 네 번째 자체 주의 계층 뒤에 적용됩니다. 언어 모델 자체와 마찬가지로 교차 주의 계층은 일반화된 쿼리 주의(GQA)를 사용하여 효율성을 개선합니다.

교차 주의 계층은 모델에 많은 수의 훈련 가능한 파라미터를 도입합니다. Llama 3 405B의 경우, 교차 주의 계층에는 약 1,000억 개의 파라미터가 있습니다. 이미지 어댑터를 (1) 초기 사전 학습과 (2) 어닐링의 두 단계로 사전 학습했습니다. 초기 사전 교육. 앞서 언급한 약 60억 개의 이미지-텍스트 쌍으로 구성된 데이터 세트에 대해 이미지 어댑터를 사전 학습시켰습니다. 계산 효율성을 높이기 위해 모든 이미지의 크기를 최대 4개의 336×336픽셀 블록에 맞도록 조정하여 672×672, 672×336, 1344×336 등 다양한 화면 비율을 지원하도록 블록을 배열합니다. ● 이미지 어댑터는 최대 4개의 336×336 픽셀 블록에 맞도록 설계되었습니다. 어닐링. 위에서 설명한 어닐링 데이터 세트의 약 5억 개의 이미지를 사용해 이미지 어댑터를 계속 훈련하고 있습니다. 어닐링 과정에서 인포그래픽 이해와 같이 고해상도 이미지가 필요한 작업의 성능을 향상시키기 위해 각 플롯의 이미지 해상도를 높입니다.

비디오 어댑터.

저희 모델은 최대 64개의 프레임(전체 비디오에서 균일하게 샘플링된)을 입력할 수 있으며, 각 프레임은 이미지 인코더로 처리됩니다. (i) 인코딩된 비디오 프레임은 32개의 연속 프레임을 하나로 결합하는 시간 집계기를 통해 하나로 병합되고, (ii) 각 네 번째 이미지 교차 관심 레이어 앞에 추가 비디오 교차 관심 레이어가 추가되는 두 가지 구성 요소를 통해 비디오의 시간적 구조를 모델링합니다. 템포럴 애그리게이터는 퍼셉트론 리샘플러로 구현됩니다(Jaegle 외., 2021; Alayrac 외., 2022). 사전 학습에는 비디오당 16프레임(1프레임으로 합산)을 사용했지만, 감독 미세 조정 중에는 입력 프레임 수를 64개로 늘렸습니다. 비디오 어그리게이터와 교차 주의 레이어는 각각 Llama 3 7B와 70B에서 0.6억 개와 46억 개의 파라미터를 가지고 있습니다.

 

7.3 모델 크기

시각 인식 구성 요소를 Llama 3에 추가한 후 모델에는 자체 주의 레이어, 교차 주의 레이어, ViT 이미지 인코더가 포함됩니다. 데이터 병렬 처리와 텐서 병렬 처리는 소규모(80억 개 및 700억 개 파라미터) 모델에 대한 어댑터를 훈련할 때 가장 효율적인 조합이라는 것을 발견했습니다. 이러한 규모에서는 모델 파라미터 수집이 계산을 지배하기 때문에 모델 또는 파이프라인 병렬화는 효율성을 향상시키지 못합니다. 하지만 4,050억 개의 매개변수 모델에 대한 어댑터를 훈련할 때는 데이터 및 텐서 병렬 처리와 더불어 파이프라인 병렬 처리를 사용했습니다. 이러한 규모의 훈련에는 3.3절에서 설명한 것 외에 모델 이질성, 데이터 이질성, 수치 불안정성이라는 세 가지 새로운 과제가 추가됩니다.

모델 이질성. 일부 토큰은 다른 토큰보다 더 많은 연산을 수행하므로 모델 계산은 이질적입니다. 특히 이미지 토큰은 이미지 인코더와 교차 주의 계층을 통해 처리되는 반면, 텍스트 토큰은 언어 백본 네트워크를 통해서만 처리됩니다. 이러한 이질성으로 인해 파이프라인 병렬 스케줄링에서 병목 현상이 발생할 수 있습니다. 저희는 각 파이프라인 단계에 4개의 자체 주의 계층과 언어 백본 네트워크의 교차 주의 계층 등 총 5개의 계층이 포함되도록 함으로써 이 문제를 해결합니다. (4개의 셀프 어텐션 레이어 뒤에 교차 어텐션 레이어를 도입했음을 기억하세요.) 또한 이미지 인코더를 모든 파이프라인 단계에 복제합니다. 이미지와 텍스트가 짝을 이룬 데이터로 학습하기 때문에 이미지와 텍스트 부분 간의 로드 밸런스를 맞출 수 있습니다.

데이터 이질성평균적으로 이미지가 연관된 텍스트보다 토큰 수가 많기 때문에 데이터가 이질적입니다. 이미지에는 평균 2308개의 토큰이 있는 반면 연관된 텍스트는 평균 192개에 불과합니다. 평균적으로 이미지가 연관된 텍스트보다 토큰 수가 많기 때문에 데이터가 이질적입니다. 이미지에는 2308개의 토큰이 있는 반면 연관된 텍스트에는 평균적으로 192개의 토큰만 있습니다. 결과적으로 교차 주의 계층의 계산은 자체 주의 계층의 계산보다 더 오래 걸리고 더 많은 메모리를 필요로 합니다. 저희는 이미지 인코더에 시퀀스 병렬 처리를 도입하여 각 GPU가 거의 동일한 수의 토큰을 처리하도록 함으로써 이 문제를 해결합니다. 또한 평균 텍스트 크기가 상대적으로 작기 때문에 더 큰 마이크로 배치 크기(1이 아닌 8)를 사용합니다.

수치 불안정성. 모델에 이미지 인코더를 추가한 후, bf16을 사용한 그라데이션 축적은 불안정한 값을 초래한다는 것을 발견했습니다. 가장 가능성이 높은 설명은 이미지 마커가 모든 교차 주의 계층을 통해 언어적 백본 네트워크에 도입되기 때문입니다. 즉, 이미지 태그 표현의 수치 편차가 전체 계산에 불균형적인 영향을 미치고 오류가 복합적으로 발생한다는 의미입니다. 이 문제는 FP32를 사용해 그라데이션 누적을 수행함으로써 해결됩니다.

 

7.4 사전 교육

이미지 사전 교육. 사전 학습된 텍스트 모델과 시각적 코더 가중치로 초기화를 시작합니다. 텍스트 모델 가중치는 위에서 설명한 대로 고정된 상태로 유지되는 동안 시각적 코더는 고정 해제되었습니다. 먼저 60억 개의 이미지-텍스트 쌍을 사용하여 모델을 학습시키고 각 이미지의 크기를 336×336픽셀 플롯 4개에 맞게 조정했습니다. 글로벌 배치 크기는 16,384개, 초기 학습률은 10 × 10 -4, 가중치 감쇠는 0.01의 코사인 학습률 체계를 사용했습니다. 초기 학습률은 소규모 실험을 기반으로 결정되었습니다. 그러나 이러한 결과는 매우 긴 훈련 일정에는 잘 일반화되지 않으며, 손실 값이 정체되면 훈련 중에 학습 속도를 여러 번 줄입니다. 기본 사전 훈련 후에는 이미지 해상도를 더 높이고 어닐링된 데이터 세트에 대해 동일한 가중치로 훈련을 계속합니다. 최적화기는 다시 코사인 스케줄에 따라 워밍업을 통해 2 × 10 -5의 학습률로 재초기화됩니다.

동영상 사전 교육. 비디오 사전 학습의 경우, 위에서 설명한 이미지 사전 학습 및 어닐링 가중치부터 시작합니다. 아키텍처에 설명된 대로 비디오 애그리게이터와 크로스 어텐션 레이어를 추가하고 무작위로 초기화합니다. 비디오 관련 매개변수(애그리게이터 및 비디오 교차 관심도)를 제외한 모델의 모든 매개변수를 고정하고 비디오 사전 학습 데이터에 대해 학습합니다. 이미지 어닐링 단계와 동일한 훈련 하이퍼파라미터를 사용하지만 학습 속도는 약간 다릅니다. 전체 비디오에서 16개의 프레임을 균일하게 샘플링하고 448×448픽셀 크기의 블록 4개를 사용하여 각 프레임을 표현합니다. 비디오 애그리게이터에서 16의 집계 계수를 사용하여 텍스트 마커가 교차 초점을 맞출 유효한 프레임을 얻습니다. 글로벌 배치 크기 4,096, 시퀀스 길이 190 토큰, 학습률 10 -4 를 사용하여 훈련합니다.

 

7.5 교육 후 처리

이 섹션에서는 시각 어댑터에 대한 후속 교육 단계에 대해 자세히 설명합니다.

사전 학습 후, 엄선된 멀티모달 대화 데이터로 모델을 미세 조정하여 채팅 기능을 활성화했습니다.

또한 직접 선호도 최적화(DPO)를 구현하여 수동 평가 성능을 개선하고 거부 샘플링을 사용하여 멀티모달 추론을 개선합니다.

마지막으로 품질 튜닝 단계를 추가하여 고품질 대화의 아주 작은 데이터 세트에서 모델을 계속 미세 조정하여 벤치마크 테스트의 성능을 유지하면서 수동 평가 결과를 더욱 개선합니다.

각 단계에 대한 자세한 정보는 아래에서 확인할 수 있습니다.

 

7.5.1 미세 조정된 데이터 모니터링

아래에서 이미지 및 동영상 기능에 대한 감독 미세 조정(SFT) 데이터에 대해 각각 설명합니다.

이미지. 저희는 감독된 미세 조정을 위해 다양한 데이터 세트를 혼합하여 사용합니다.

  • 학술 데이터 세트: 고도로 필터링된 기존 학술 데이터 세트를 템플릿을 사용하거나 LLM(대규모 언어 모델링) 재작성을 통해 질문-답변 쌍으로 변환합니다.LLM 재작성은 다양한 지침으로 데이터를 보강하고 답변의 언어 품질을 개선하도록 설계되었습니다.
  • 수동 주석: 다양한 작업(개방형 Q&A, 캡션, 실제 사용 사례 등) 및 도메인(예: 자연 이미지 및 구조화된 이미지)에 대한 멀티모달 대화 데이터를 수동 주석자를 통해 수집합니다. 주석 작성자는 이미지를 받아 대화를 구성하라는 요청을 받게 됩니다.

다양성을 확보하기 위해 대규모 데이터 세트를 클러스터링하고 여러 클러스터에 걸쳐 이미지를 고르게 샘플링했습니다. 또한 k-근접 이웃을 사용해 시드를 확장함으로써 일부 특정 도메인에 대한 추가 이미지를 얻었습니다. 또한 기존 모델의 중간 체크포인트가 주석 작성자에게 제공되어 루프에서 모델의 스타일 주석을 쉽게 작성할 수 있으므로 모델 생성을 주석 작성자가 추가 편집을 위한 출발점으로 사용할 수 있습니다. 이는 모델 체크포인트가 최신 데이터로 학습된 더 나은 성능의 버전으로 주기적으로 업데이트되는 반복적인 프로세스입니다. 이렇게 하면 수동 주석의 양과 효율성이 증가하면서 품질도 향상됩니다.

  • 합성 데이터: 이미지의 텍스트 표현과 텍스트 입력 LLM을 사용해 합성 멀티모달 데이터를 생성하는 다양한 접근 방식을 살펴봅니다. 기본 아이디어는 텍스트 입력 LLM의 추론 기능을 사용하여 텍스트 영역에서 Q&A 쌍을 생성하고 텍스트 표현을 해당 이미지로 대체하여 합성 멀티모달 데이터를 생성하는 것입니다. 예를 들어 Q&A 데이터 세트의 텍스트를 이미지로 렌더링하거나 표 형식의 데이터를 합성 표 및 차트 이미지로 렌더링할 수 있습니다. 또한 기존 이미지의 캡션과 OCR 추출을 사용하여 이미지와 관련된 일반 대화 또는 Q&A 데이터를 생성합니다.

비디오. 이미지 어댑터와 마찬가지로, 기존의 주석이 달린 학술 데이터 세트를 사용하여 적절한 텍스트 지침과 목표 응답으로 변환합니다. 목표는 필요에 따라 주관식 또는 객관식 문항으로 변환됩니다. 인간 주석가에게 비디오에 질문과 해당 답변을 추가하도록 요청했습니다. 개별 프레임에서 답변할 수 없는 질문에 집중하여 이해하는 데 시간이 걸리는 질문으로 주석 작성자를 유도하도록 요청했습니다.

 

7.5.2 프로그램 미세 조정 감독

이미지 및 동영상 기능에 대한 감독형 미세 조정(SFT) 방식을 각각 소개합니다:

이미지. 사전 학습된 이미지 어댑터에서 모델을 초기화하지만, 사전 학습된 언어 모델의 가중치를 인스트럭션 튜닝된 언어 모델의 가중치로 대체합니다. 텍스트 전용 성능을 유지하기 위해 언어 모델 가중치는 고정된 상태로 유지되며, 즉 시각 코더와 이미지 어댑터 가중치만 업데이트합니다.

우리의 미세 조정 접근 방식은 Wortsman 등(2022)과 유사합니다. 먼저, 데이터, 학습률, 가중치 감쇠 값의 여러 무작위 하위 집합을 사용하여 하이퍼파라미터 스캔을 수행합니다. 그런 다음, 성능에 따라 모델의 순위를 매깁니다. 마지막으로 상위 K 모델의 가중치를 평균하여 최종 모델을 얻고, 평균 모델을 평가하고 가장 성능이 좋은 인스턴스를 선택하여 K의 값을 결정합니다. 그리드 검색을 통해 찾은 최고의 개별 모델에 비해 평균 모델이 일관되게 더 나은 결과를 생성하는 것을 관찰했습니다. 또한 이 전략은 하이퍼파라미터에 대한 민감도를 줄여줍니다.

비디오. 비디오 SFT의 경우, 미리 학습된 가중치를 사용하여 비디오 애그리게이터와 교차 관심도 레이어를 초기화합니다. 모델의 나머지 파라미터(이미지 가중치 및 LLM)는 해당 모델에서 초기화되고 미세 조정 단계를 따릅니다. 비디오 사전 학습과 마찬가지로, 비디오 SFT 데이터의 비디오 파라미터만 미세 조정됩니다. 이 단계에서는 비디오 길이를 64프레임으로 늘리고 집계 계수 32를 사용하여 두 개의 유효한 프레임을 얻습니다. 이에 따라 해당 이미지 하이퍼파라미터와 일관성을 유지하도록 블록의 해상도가 증가합니다.

 

7.5.3 기본 설정

보상 모델링과 직접적인 선호도 최적화를 위해 멀티모달 페어링 선호도 데이터 세트를 구축했습니다.

  • 수동 라벨링. 수동으로 주석을 단 선호도 데이터는 '선택'과 '거부'로 표시된 두 가지 모델의 결과를 비교하고 7점 척도로 평가하는 것으로 구성됩니다. 응답을 생성하는 데 사용되는 모델은 각각 다른 특성을 가진 최고의 최근 모델 풀에서 매주 무작위로 샘플링됩니다. 시각적 작업은 부정확성에 대한 내성이 약하기 때문에 선호도 레이블 외에도 '선택' 응답의 부정확성을 수정하기 위해 주석가에게 수동 편집 옵션을 제공하도록 요청했습니다. 실제로는 양과 질 사이에 상충되는 부분이 있으므로 수동 편집은 선택 사항이라는 점에 유의하세요.
  • 합성 데이터. 합성 선호도 쌍은 텍스트 전용 LLM 편집을 사용하고 감독된 미세 조정 데이터 세트에 의도적으로 오류를 도입하여 생성할 수도 있습니다. 저희는 대화 데이터를 입력으로 받아 LLM을 사용하여 미묘하지만 의미 있는 오류(예: 개체 변경, 속성 변경, 계산 오류 추가 등)를 도입했습니다. 이렇게 편집된 응답은 네거티브 '거부' 샘플로 사용되어 '선택된' 원본 감독 미세 조정 데이터와 짝을 이룹니다.
  • 샘플링 거부. 또한, 보다 전략적으로 부정적인 샘플을 생성하기 위해 거부 샘플링의 반복적인 프로세스를 활용하여 선호도 데이터를 추가로 수집합니다. 거부 샘플링이 어떻게 사용되는지는 다음 섹션에서 자세히 설명합니다. 요약하면, 거부 샘플링은 모델에서 생성된 고품질 결과를 반복적으로 샘플링하는 데 사용됩니다. 따라서 부산물로 선택되지 않은 모든 생성 결과를 네거티브 거부 샘플 및 추가 선호도 데이터 쌍으로 사용할 수 있습니다.

 

7.5.4 보상 모델링

시각적 SFT 모델과 언어 RM을 기반으로 시각적 보상 모델(RM)을 훈련했습니다. 시각 인코더와 교차 주의 레이어는 시각적 SFT 모델에서 초기화하여 훈련 중에 고정 해제하고, 자기 주의 레이어는 언어 RM에서 초기화하여 고정된 상태로 유지했습니다. 언어 RM 부분을 고정하면 특히 RM이 지식이나 언어 품질에 따라 판단해야 하는 작업에서 정확도가 향상되는 것을 관찰할 수 있었습니다. 언어 RM과 동일한 훈련 목표를 사용하지만, 보상 점수의 편차를 방지하기 위해 배치 평균 보상 로그를 제곱하는 가중 정규화 항을 추가합니다.

섹션 7.5.3의 인간 선호도 주석은 시각적 RM을 훈련하는 데 사용되었습니다. 언어 선호도 데이터(섹션 4.2.1)와 동일한 접근 방식을 따라 명확한 순위(편집 버전 > 선택 버전 > 거부된 버전)를 가진 두세 쌍을 만들었습니다. 또한 이미지 정보와 관련된 단어나 문구(예: 숫자 또는 시각적 텍스트)를 스크램블링하여 부정적인 반응을 합성적으로 향상시켰습니다. 이를 통해 시각적 RM이 실제 이미지 콘텐츠에 기반하여 판단하도록 장려합니다.

 

7.5.5 직접 환경설정 최적화

언어 모델(4.1.4절)과 마찬가지로, 7.5.3절에 설명된 선호도 데이터로 직접 선호도 최적화(DPO; Rafailov et al. (2023))를 사용하여 시각 적응기를 추가로 훈련했습니다. 사후 학습 중 분포 편향을 방지하기 위해 가장 최근의 인간 선호도 주석 배치만 유지하고 전략에 크게 미치지 못하는 배치(예: 기본 사전 학습 모델이 변경된 경우)는 폐기했습니다. 참조 모델을 항상 고정하는 대신 지수이동평균(EMA)으로 매 k 단계마다 업데이트하면 모델이 데이터에서 더 많은 것을 학습하여 사람의 평가에서 더 나은 성능을 이끌어내는 데 도움이 된다는 사실을 발견했습니다. 전반적으로, 시각적 DPO 모델은 사람의 평가에서 SFT 시작점을 지속적으로 능가하고 모든 미세 조정 반복에서 우수한 성능을 보이는 것으로 관찰되었습니다.

 

7.5.6 샘플링 거부

기존의 대부분의 퀴즈 쌍에는 최종 정답만 포함되어 있으며, 과제를 잘 일반화하는 모델을 추론하는 데 필요한 사고 연쇄 설명이 부족합니다. 저희는 거부 샘플링을 사용하여 이러한 예제에 대해 누락된 설명을 생성함으로써 모델의 추론 능력을 향상시킵니다.

퀴즈 쌍이 주어지면 다양한 시스템 단서 또는 온도를 사용하여 미세 조정된 모델을 샘플링하여 여러 개의 정답을 생성합니다. 그런 다음 휴리스틱 또는 LLM 레퍼런스를 통해 생성된 정답과 정답을 비교합니다. 마지막으로 미세 조정된 데이터에 정답을 추가하여 모델을 재학습합니다. 한 문제당 여러 개의 정답을 유지하는 것이 유용하다는 것을 알게 되었습니다.

양질의 사례만 교육에 추가하기 위해 다음 두 가지 안전 조치를 시행했습니다:

  1. 최종 정답이 맞았음에도 불구하고 일부 예시에는 잘못된 설명이 포함되어 있는 것을 발견했습니다. 이러한 패턴은 생성된 정답 중 극히 일부만 정답인 문제에서 더 흔하다는 점에 주목했습니다. 따라서 정답 확률이 특정 임계값 이하인 문제의 답은 삭제했습니다.
  2. 검토자는 언어 또는 스타일 차이로 인해 특정 답변을 선호합니다. 저희는 보상 모델을 사용하여 최고 품질의 답변 K를 선정하고 이를 교육에 추가합니다.

 

7.5.7 품질 튜닝

저희는 모든 샘플을 수동 또는 최고의 모델을 통해 최고 기준에 맞게 재작성하고 검증한 작지만 매우 선별적인 미세 조정(SFT) 데이터 세트를 신중하게 큐레이팅했습니다. 이 데이터를 사용하여 응답 품질을 개선하기 위해 DPO 모델을 훈련하고 이 프로세스를 품질 튜닝(QT)이라고 합니다. QT 데이터 세트가 광범위한 작업을 포괄하고 적절한 조기 중지를 적용하면 벤치마크 테스트 검증의 일반적인 성능에 영향을 주지 않으면서도 사람의 평가 결과를 크게 개선할 수 있다는 사실을 발견했습니다. 이 단계에서는 기능이 유지 또는 개선되는지 확인하기 위해 벤치마크 테스트를 기반으로만 체크포인트를 선택합니다.

 

7.6 이미지 인식 결과

자연스러운 이미지 이해, 텍스트 이해, 다이어그램 이해, 멀티모달 추론 등 다양한 과제에서 라마 3 이미지 이해 기능의 성능을 평가했습니다:

  • MMMU(Yue et al., 2024a)는 이미지를 이해하고 30개 분야의 대학 수준의 문제를 해결하기 위해 모델이 요구되는 도전적인 다중 모드 추론 데이터 세트입니다. 여기에는 객관식 및 주관식 문제가 포함됩니다. 다른 작업과 마찬가지로 900개의 이미지가 포함된 검증 세트에서 모델을 평가합니다.
  • VQAv2(Antol 외, 2015)는 이미지 이해력, 언어 이해력, 일반 지식을 결합하여 자연 이미지에 대한 일반적인 질문에 답할 수 있는 모델의 능력을 테스트합니다.
  • AI2 다이어그램(Kembhavi et al., 2016)은 과학 다이어그램을 파싱하고 그에 대한 질문에 답하는 모델의 능력을 평가합니다. 저희는 다음과 같은 모델을 사용했습니다. 쌍둥이자리 x.ai와 동일한 평가 프로토콜을 사용하며 투명한 경계 상자를 사용하여 점수를 보고합니다.
  • ChartQA(Masry et al., 2022)는 차트 이해도를 평가하는 까다로운 벤치마크 테스트입니다. 모델은 다양한 유형의 차트를 시각적으로 이해하고 이러한 차트의 논리에 대한 질문에 답해야 합니다.
  • TextVQA(Singh et al., 2019)는 이미지의 텍스트를 읽고 추론하여 쿼리에 대한 답을 내야 하는 모델로 널리 사용되는 벤치마크 데이터 세트입니다. 이 테스트는 자연 이미지에서 OCR을 이해하는 모델의 능력을 테스트합니다.
  • 문서 분석 및 인식에 초점을 맞춘 벤치마크 데이터 세트인 DocVQA(Mathew et al., 2020)는 문서 분석 및 인식에 초점을 맞춘 데이터 세트입니다. 여기에는 다양한 문서의 이미지가 포함되어 있으며, 문서 내용을 이해하고 추론하여 질문에 답하기 위해 OCR을 수행하는 모델의 능력을 평가합니다.

표 29는 실험 결과를 보여줍니다. 표의 결과는 Llama 3에 장착된 비전 모듈이 모델 용량이 다른 다양한 이미지 인식 벤치마크에서 경쟁력이 있음을 보여줍니다. 그 결과 Llama 3-V 405B 모델을 사용하면 모든 벤치마크에서 GPT-4V보다 성능이 뛰어나지만 Gemini 1.5 Pro와 Claude 3.5 Sonnet보다 약간 성능이 떨어지며, 문서 이해 작업에서 특히 우수한 성능을 발휘합니다.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

7.7 비디오 인식 결과

세 가지 벤치마크에서 Llama 3의 비디오 어댑터를 평가했습니다:

  • 인식 테스트(Lin et al., 2023)이 벤치마크는 짧은 동영상 클립을 이해하고 예측하는 모델의 능력을 테스트합니다. 여기에는 사물, 동작, 장면 인식 등 다양한 유형의 문제가 포함되어 있습니다. 공식적으로 제공된 코드와 평가 지표(정확도)를 기반으로 결과를 보고합니다.
  • TVQA(Lei et al., 2018)이 벤치마크는 공간적-시간적 위치 파악, 시각적 개념 인식, 자막 대화와의 합동 추론 등 복합 추론에 대한 모델의 능력을 평가합니다. 이 데이터 세트는 인기 TV 프로그램에서 파생된 것이므로 질문에 답하기 위해 이러한 TV 프로그램에 대한 외부 지식을 사용하는 모델의 능력도 테스트합니다. 여기에는 평균 76초 길이의 비디오 클립에 해당하는 15,000개 이상의 검증된 QA 쌍이 포함되어 있습니다. 질문당 5개의 옵션이 있는 객관식 형식을 사용하며, 이전 작업(OpenAI, 2023b)을 기반으로 검증 세트에 대한 성능을 보고합니다.
  • ActivityNet-QA(Yu et al., 2019)이 벤치마크는 동작, 공간적 관계, 시간적 관계, 수 세기 등을 이해하기 위해 긴 동영상 클립을 이해하는 모델의 능력을 평가합니다. 여기에는 평균 길이가 3분인 800개의 동영상에서 8,000개의 테스트 QA 쌍이 포함되어 있습니다. 평가를 위해 모델이 짧은 단어나 구문 응답을 생성하고 GPT-3.5 API를 사용하여 실제 응답과 비교하여 출력의 정확성을 평가하는 이전 연구(Google, 2023; Lin et al., 2023; Maaz et al., 2024)의 프로토콜을 따릅니다. API를 통해 계산된 평균 정확도를 보고합니다.

 

추론 과정

추론을 수행할 때는 전체 비디오 클립에서 프레임을 균등하게 샘플링하여 짧은 텍스트 프롬프트와 함께 모델에 전달합니다. 대부분의 벤치마크에는 객관식 질문에 대한 답변이 포함되므로 다음과 같은 프롬프트를 사용합니다:

  • 다음 옵션 중에서 정답을 선택하세요:{문항}. 올바른 옵션 문자만 사용하여 답하고 다른 문자는 쓰지 마세요.

짧은 답변을 생성해야 하는 벤치마크(예: ActivityNet-QA 및 NExT-QA)의 경우 다음 힌트를 사용합니다:

  • 단어나 구를 사용하여 질문에 답하세요: {질문}.

NExT-QA의 경우 평가 지표(WUPS)는 길이와 사용된 특정 단어에 민감하기 때문에 모델에 위치를 묻는 질문에 단순히 '집'이라고 답하는 대신 '거실'이라고 명시하는 등 가장 두드러진 답변에 대해 구체적으로 응답하도록 유도했습니다. ". 자막이 포함된 벤치마크(예: TVQA)의 경우, 추론 프로세스 중에 클립의 해당 자막을 큐에 포함시킵니다.

결국

표 30은 라마 3 8B 및 70B 모델의 성능을 보여줍니다. 두 모델의 성능을 두 개의 Gemini 모델 및 두 개의 GPT-4 모델과 비교했습니다. 훈련 또는 미세 조정 데이터에 이러한 벤치마크의 일부를 포함하지 않았으므로 모든 결과는 제로 샘플 결과라는 점에 유의하세요. Llama 3 모델은 후처리 과정에서 소형 비디오 어댑터를 훈련하는 데 매우 경쟁력이 있으며, 경우에 따라 사전 훈련부터 네이티브 멀티모달 프로세싱을 활용하는 다른 모델보다 성능이 뛰어난 것으로 나타났습니다.8B 및 70B 파라미터 모델만 평가했기 때문에 Llama 3는 비디오 인식에서 특히 우수한 성능을 보였으며, Llama 3는 다음 테스트에서 최고의 성능을 달성했습니다. PerceptionTest에서 최고의 성능을 달성하여 복잡한 시간적 추론을 수행하는 모델의 강력한 능력을 입증했습니다. ActivityNet-QA와 같은 긴 클립 활동 이해 작업에서 Llama 3는 최대 64프레임만 처리하는 경우에도 강력한 결과를 달성했습니다(3분 동영상의 경우 모델은 3초마다 한 프레임만 처리함).

 

Llama 3:一个多功能、开源的 AI 模型系列

 

Llama 3:一个多功能、开源的 AI 模型系列

 

 

8 음성 실험

 

시각 인식에 사용한 방식과 유사하게 음성 기능을 라마 3에 통합하기 위한 조합적 접근 방식을 조사하기 위해 실험을 진행했습니다. 입력 시 음성 신호를 처리하기 위해 인코더와 어댑터를 추가했습니다. 시스템 단서(텍스트 형태)를 활용하여 라마 3가 다양한 음성 이해 모드를 지원할 수 있도록 했습니다. 시스템 프롬프트가 제공되지 않는 경우, 이 모델은 텍스트 전용 버전의 Llama 3와 일관된 방식으로 사용자 음성에 효과적으로 응답할 수 있는 일반 음성 대화 모델 역할을 합니다. 대화 히스토리를 큐 접두사로 도입하면 다원 대화 환경을 개선할 수 있습니다. 또한 Llama 3에서 자동 음성 인식(ASR) 및 자동 음성 번역(AST)을 위한 시스템 프롬프트 사용도 실험했습니다. Llama 3의 음성 인터페이스는 최대 34개 언어를 지원합니다.18 또한 텍스트와 음성의 대체 입력이 가능하여 모델이 고급 오디오 이해 작업을 해결할 수 있도록 지원합니다.

또한 언어 모델을 디코딩하는 동안 음성 파형을 동적으로 생성하는 스트리밍 텍스트 음성 변환(TTS) 시스템을 구현하는 음성 생성 접근 방식도 실험했습니다. 라마 3의 음성 생성기는 독점적인 TTS 시스템을 기반으로 설계되었으며, 음성 생성을 위해 언어 모델을 미세 조정하지 않았습니다. 대신 추론 과정에서 Llama 3의 단어 임베딩을 활용하여 음성 합성의 지연 시간, 정확성, 자연스러움을 개선하는 데 집중했습니다. 음성 인터페이스는 그림 28과 29에 나와 있습니다.

 

8.1 데이터

8.1.1 음성 이해

학습 데이터는 두 가지 범주로 나눌 수 있습니다. 사전 훈련 데이터는 자체 감독 방식으로 음성 인코더를 초기화하는 데 사용되는 레이블이 없는 대량의 음성으로 구성됩니다. 감독 미세 조정 데이터에는 음성 인식, 음성 번역 및 음성 대화 데이터가 포함되며, 대규모 언어 모델과 통합할 때 특정 기능을 잠금 해제하는 데 사용됩니다.

사전 교육 데이터. 음성 인코더를 사전 학습시키기 위해 여러 언어에 걸쳐 약 1,500만 시간의 음성 녹음이 포함된 데이터 세트를 수집했습니다. 음성 활동 감지(VAD) 모델을 사용하여 오디오 데이터를 필터링하고 사전 학습을 위해 VAD 임계값이 0.7 이상인 오디오 샘플을 선택했습니다. 음성 사전 학습 데이터에는 개인 식별 정보(PII)가 없는지 확인하는 데에도 중점을 두었습니다. 이러한 PII를 식별하기 위해 Presidio 분석기를 사용했습니다.

음성 인식 및 번역 데이터. ASR 학습 데이터에는 34개 언어로 23만 시간의 수기 필사 음성 녹음이 포함되어 있습니다. AST 훈련 데이터에는 33개 언어에서 영어로, 영어에서 33개 언어로 90,000시간의 양방향 번역이 포함되어 있습니다. 이 데이터에는 NLLB 툴킷을 사용하여 생성된 지도 데이터와 합성 데이터가 모두 포함되어 있습니다(NLLB 팀 외., 2022). 합성 AST 데이터를 사용하면 자원이 부족한 언어에 대한 모델의 품질이 향상됩니다. 데이터의 최대 음성 세그먼트 길이는 60초입니다.

음성 대화 데이터. 음성 대화에 대한 음성 어댑터를 미세 조정하기 위해 언어 모델에 이러한 프롬프트의 필사본에 응답하도록 요청하여 음성 프롬프트에 대한 응답을 합성했습니다(Fathullah et al., 2024). 이러한 방식으로 합성 데이터를 생성하기 위해 ASR 데이터 세트의 하위 집합(60,000시간 분량의 음성 포함)을 사용했습니다.

또한, 라마 3의 미세 조정에 사용된 데이터의 하위 집합에서 Voicebox TTS 시스템(Le et al., 2024)을 실행하여 25,000시간의 합성 데이터를 생성했습니다. 음성 분포와 일치하는 미세 조정된 데이터의 하위 집합을 선택하기 위해 몇 가지 휴리스틱을 사용했습니다. 이러한 휴리스틱은 비교적 짧고 단순한 구조의 단서에 초점을 맞추었으며 텍스트가 아닌 기호는 포함하지 않았습니다.

 

8.1.2 음성 생성

语音生成数据集主要包括用于训练文本规范化(TN)模型和韵律模型(PM)的数据集。两种训练数据都通过添加 Llama 3 词嵌入作为额外的输入特征进行增强,以提供上下文信息。

文本规范化数据。我们的 TN 训练数据集包含 5.5 万个样本,涵盖了广泛的符号类别(例如,数字、日期、时间),这些类别需要非平凡的规范化。每个样本由书面形式文本和相应的规范化口语形式文本组成,并包含一个推断的手工制作的 TN 规则序列,用于执行规范化。

声韵模型数据。PM 训练数据包括从一个包含 50,000 小时的 TTS 数据集提取的语言和声韵特征,这些特征与专业配音演员在录音室环境中录制的文字稿件和音频配对。

Llama 3 嵌入。Llama 3 嵌入取自第 16 层解码器输出。我们仅使用 Llama 3 8B 模型,并提取给定文本的嵌入(即 TN 的书面输入文本或 PM 的音频转录),就像它们是由 Llama 3 模型在空用户提示下生成的。在一个样本中,每个 Llama 3 标记序列块都明确地与 TN 或 PM 本地输入序列中的相应块对齐,即 TN 特定的文本标记(由 Unicode 类别区分)或语音速率特征。这允许使用 Llama 3 标记和嵌入的流式输入训练 TN 和 PM 模块。

8.2 모델 아키텍처

8.2.1 음성 이해

입력 측에서 음성 모듈은 음성 인코더와 어댑터라는 두 개의 연속된 모듈로 구성됩니다. 음성 모듈의 출력은 토큰 표현으로 언어 모델에 직접 공급되어 음성과 텍스트 토큰 간의 직접적인 상호 작용을 가능하게 합니다. 또한 음성 표현의 시퀀스를 포함하기 위한 두 가지 새로운 특수 토큰을 도입했습니다. 음성 모듈은 교차 주의 계층을 통해 다중 모드 정보를 언어 모델에 입력하는 비전 모듈(섹션 7 참조)과는 크게 다릅니다. 반면, 음성 모듈에서 생성된 임베딩은 텍스트 토큰에 원활하게 통합될 수 있으므로 음성 인터페이스가 라마 3 언어 모델의 모든 기능을 활용할 수 있습니다.

음성 인코더:저희의 음성 인코더는 10억 개의 파라미터를 가진 컨포머 모델입니다(Gulati et al., 2020). 모델에 대한 입력은 80차원 마이어 스펙트로그램 특징으로 구성되며, 먼저 단계 크기가 4인 스택 레이어를 통해 처리된 다음 선형 투영을 통해 40밀리초의 프레임 길이로 축소됩니다. 처리된 특징은 24개의 컨포머 레이어가 포함된 인코더로 처리됩니다. 각 컨포머 레이어는 1536의 잠재적 차원을 가지며 4096 차원을 가진 두 개의 Macron-net 스타일 피드포워드 네트워크, 커널 크기가 7인 컨볼루션 모듈, 24개의 주의 헤드를 가진 회전 주의 모듈을 포함합니다(Su et al., 2024).

음성 어댑터:음성 어댑터에는 약 1억 개의 매개변수가 포함되어 있습니다. 컨볼루션 레이어, 회전 트랜스포머 레이어, 선형 레이어로 구성되어 있습니다. 컨볼루션 레이어는 커널 크기가 3이고 스텝 크기가 2이며 음성 프레임 길이를 80ms로 줄이도록 설계되었습니다. 이를 통해 언어 모델에 더 거친 입자의 특징을 제공할 수 있으며, 잠재적 차원이 3072인 트랜스포머 레이어와 4096 차원인 피드 포워드 네트워크는 컨볼루션에 의해 다운샘플링된 음성 정보를 추가로 처리합니다. 마지막으로 선형 레이어는 언어 모델 임베딩 레이어와 일치하도록 출력 차원을 매핑합니다.

 

8.2.2 음성 생성

음성 생성의 두 가지 핵심 구성 요소인 텍스트 정규화와 메트릭 모델링에 Llama 3 8B를 임베딩하여 사용합니다. 텍스트 정규화(TN) 모듈은 문맥에 따라 서면 텍스트를 음성 형태로 변환하여 의미적 정확성을 보장합니다. 운율 모델링(PM) 모듈은 이러한 임베딩을 사용하여 운율적 특징을 예측함으로써 자연스러움과 표현력을 향상시킵니다. 이 두 가지 구성 요소가 함께 작동하여 정확하고 자연스러운 음성 생성을 달성합니다.

**텍스트 정규화**: 생성된 음성의 의미적 정확성을 결정하는 요소로서 텍스트 정규화(TN) 모듈은 문맥 인식 변환을 수행하여 서면 텍스트에서 해당 음성 형식으로 변환하고, 이는 최종적으로 다운스트림 구성 요소에 의해 구두화됩니다. 예를 들어, 의미론적 맥락에 따라 '123'이라는 서면 형식은 기본 숫자(1백 23)로 읽히거나 한 자리씩 철자(1 2 3)로 읽힐 수 있으며, TN 시스템은 사용되는 자릿수를 예측하는 스트리밍 LSTM 기반 시퀀스 라벨링 모델로 구성됩니다. 입력 텍스트의 수작업으로 만들어진 TN 규칙 시퀀스를 변환합니다(Kang et al., 2024). 이 신경 모델은 또한 교차 주의를 통해 라마 3 임베딩을 수신하여 그 안에 인코딩된 문맥 정보를 활용함으로써 최소한의 텍스트 라벨링 예측과 스트리밍 입출력을 가능하게 합니다.

**라임 모델링**: 합성 음성의 자연스러움과 표현력을 향상시키기 위해, Llama 3 임베딩을 추가 입력으로 사용하는 트랜스포머 아키텍처만을 디코딩하는 라임 모델(PM)(Radford et al., 2021)을 통합했습니다. 이 통합은 텍스트 출력과 중간 임베딩(Devlin 외. 2018, Dong 외. 2019, Raffel 외. 2020, Guo 외. 2023)을 사용하여 운율 특징의 예측을 강화함으로써 모델에 필요한 룩어헤드를 줄이며, PM은 여러 입력 구성 요소를 통합하여 위에서 설명한 텍스트 정규화 프론트엔드에서 포괄적인 운율 예측을 생성합니다. PM은 위에서 설명한 텍스트 정규화 프런트엔드에서 파생된 언어적 특징, 토큰, 임베딩 등 여러 입력 구성 요소를 통합하여 종합적인 메트릭 예측을 생성합니다. PM은 각 음소의 로그 지속 시간, 로그 기본 주파수(F0) 평균, 음소 지속 시간에 대한 로그 전력 평균이라는 세 가지 주요 메트릭 특징을 예측합니다. 이 모델은 단방향 트랜스포머와 6개의 주의력 헤드로 구성됩니다. 각 블록은 교차 주의 레이어와 864개의 숨겨진 차원을 가진 이중 완전 연결 레이어로 구성되며, PM의 특징은 한 레이어는 언어 입력에, 다른 레이어는 라마 임베딩에 전용으로 사용하는 이중 교차 주의 메커니즘입니다. 이 설정은 명시적으로 정렬할 필요 없이 다양한 입력 속도를 효과적으로 관리합니다.

 

8.3 교육 프로그램

8.3.1 음성 이해

음성 모듈의 훈련은 두 단계로 진행되었습니다. 첫 번째 단계인 음성 사전 훈련에서는 언어 및 음향 조건과 관련하여 강력한 일반화 능력을 보이는 레이블이 없는 데이터를 사용하여 음성 인코더를 훈련합니다. 두 번째 단계인 감독 미세 조정에서는 LLM이 고정된 상태에서 어댑터와 사전 훈련된 인코더가 음성 모델과 통합되어 함께 훈련됩니다. 이를 통해 모델이 음성 입력에 응답할 수 있습니다. 이 단계에서는 음성 이해 능력에 해당하는 레이블이 지정된 데이터를 사용합니다.

다국어 ASR 및 AST 모델링은 종종 언어 혼동/간섭을 유발하여 성능을 저하시킵니다. 널리 사용되는 완화 방법은 소스 및 대상 모두에 LID(언어 식별) 정보를 포함하는 것입니다. 이는 미리 결정된 방향으로 성능을 향상시킬 수 있지만 일반화 성능이 저하될 수도 있습니다. 예를 들어 번역 시스템이 원본과 대상 모두에서 LID 정보를 제공해야 하는 경우, 학습에서 볼 수 없는 방향에서 모델이 좋은 제로 샘플 성능을 발휘할 가능성은 낮습니다. 따라서 보이지 않는 방향의 음성 번역을 위해 모델을 충분히 일반화하면서 어느 정도의 LID 정보를 허용하는 시스템을 설계하는 것이 우리의 과제입니다. 이 문제를 해결하기 위해 출력할 텍스트(대상 쪽)에 대한 LID 정보만 포함하는 시스템 단서를 설계했습니다. 이러한 큐에는 음성 입력(소스 측)에 대한 LID 정보가 포함되어 있지 않으므로 코드 전환 음성을 처리할 수도 있습니다. ASR의 경우 다음과 같은 시스템 프롬프트가 표시됩니다. {언어}로 내 말 반복하기: 여기서 {언어}는 34개 언어(영어, 프랑스어 등) 중 하나입니다. 음성 번역의 경우 시스템 프롬프트는 "다음 문장을 {언어}: 로 번역하세요."입니다. 이 디자인은 언어 모델이 원하는 언어로 응답하도록 유도하는 데 효과적인 것으로 나타났습니다. 훈련과 추론 시에도 동일한 시스템 프롬프트를 사용합니다.

음성 사전 학습을 위해 자체 감독 BEST-RQ 알고리즘(Chiu et al., 2022)을 사용합니다.

编码器采用长度为 32 帧的掩码,对输入 mel 谱图的概率为 2.5%。如果语音话语超过 60 秒,我们将随机裁剪 6K 帧,对应 60 秒的语音。通过堆叠 4 个连续帧、将 320 维向量投影到 16 维空间,并在 8192 个向量的代码库内使用余弦相似度度量进行最近邻搜索,对 mel 谱图特征进行量化。为了稳定预训练,我们采用 16 个不同的代码库。投影矩阵和代码库随机初始化,在模型训练过程中不更新。多软最大损失仅用于掩码帧,以提高效率。编码器经过 50 万步训练,全局批处理大小为 2048 个语音。

监督微调。预训练语音编码器和随机初始化的适配器在监督微调阶段与 Llama 3 联合优化。语言模型在此过程中保持不变。训练数据是 ASR、AST 和对话数据的混合。Llama 3 8B 的语音模型经过 650K 次更新训练,使用全局批大小为 512 个话语和初始学习率为 10。Llama 3 70B 的语音模型经过 600K 次更新训练,使用全局批大小为 768 个话语和初始学习率为 4 × 10。

8.3.2 음성 생성

실시간 처리를 지원하기 위해 라임 모델은 고정된 수의 미래 음소 위치와 가변적인 수의 미래 토큰을 고려하는 룩어헤드 메커니즘을 사용합니다. 이를 통해 들어오는 텍스트를 처리하는 동안 일관된 룩어헤드를 보장하며, 이는 지연 시간이 짧은 음성 합성 애플리케이션에 매우 중요합니다.

교육. 음성 합성의 스트리밍을 촉진하기 위해 인과 마스크를 활용한 동적 정렬 전략을 개발합니다. 이 전략은 텍스트 정규화 프로세스의 청킹 프로세스에 따라 고정된 수의 미래 음소와 가변적인 수의 미래 토큰에 대한 운율 모델의 룩-어헤드 메커니즘을 결합합니다(섹션 8.1.2).

각 음소에 대해 마커 룩어헤드는 블록 크기에 의해 정의된 최대 마커 수로 구성되며, 그 결과 가변 룩어헤드를 가진 라마 임베딩과 고정 룩어헤드를 가진 음소가 생성됩니다.

라임 모델 학습 중에 고정된 상태로 유지된 Llama 3 8B 모델의 임베딩. 입력 통화 속도 기능에는 언어 및 화자/스타일 제어 가능성 요소가 포함됩니다. 모델은 1,024개 톤의 배치 크기와 9 × 10 -4의 학습률로 AdamW 옵티마이저를 사용하여 훈련되며, 처음 3,000개의 업데이트는 학습률 워밍업을 수행한 다음 코사인 스케줄링을 따르면서 100만 회 이상의 업데이트를 통해 훈련됩니다.

추론. 추론 중에는 훈련과 실시간 처리 간의 일관성을 보장하기 위해 동일한 룩어헤드 메커니즘과 인과적 마스킹 전략이 사용되며, PM은 수신 텍스트를 스트리밍 방식으로 처리하여 전화 속도 기능의 경우 전화별로, 레이블 속도 기능의 경우 블록별로 입력을 업데이트합니다. 새로운 블록 입력은 블록의 첫 번째 전화가 최신 상태일 때만 업데이트되므로 훈련 중에 정렬과 앞을 내다보는 상태를 유지할 수 있습니다.

라임 타깃을 예측하기 위해 장거리 라임 종속성을 포착하고 복제하는 모델의 능력을 향상시키는 지연 모드 접근법(Kharitonov et al., 2021)을 사용했습니다. 이 접근 방식은 합성 음성의 자연스러움과 표현력에 기여하여 짧은 지연 시간과 고품질 출력을 보장합니다.

 

8.4 음성 이해 결과

(1) 자동 음성 인식 (2) 음성 번역 (3) 음성 질의응답의 세 가지 작업에 대해 Llama 3 음성 인터페이스의 음성 이해 능력을 평가했습니다. 라마 3의 음성 인터페이스 성능을 세 가지 최신 음성 이해 모델인 Whisper(Radford 외, 2023), SeamlessM4T(Barrault 외, 2023), Gemini와 비교했으며, 모든 평가에서 욕심 검색을 사용해 라마 3의 토큰을 예측했습니다.

음성 인식. 저희는 영어 데이터셋에 대해 다국어 LibriSpeech(MLS; Pratap et al., 2020), LibriSpeech(Panayotov et al., 2015), VoxPopuli(Wang et al., 2021a), FLEURS 다국어 데이터셋의 하위 집합(Conneau et al. 2023)를 영어 데이터 세트에 적용하여 ASR 성능을 평가했습니다. 평가에서는 다음을 사용했습니다. Whisper 텍스트 정규화 절차는 다른 모델에서 보고한 결과와 일관성을 유지하기 위해 디코딩 결과를 후처리합니다. 모든 벤치마크에서 문자 오류율을 보고하는 중국어, 일본어, 한국어, 태국어를 제외한 모든 벤치마크의 표준 테스트 세트에서 Llama 3 음성 인터페이스의 단어 오류율을 측정합니다.

표 31은 ASR 평가 결과를 보여줍니다. 이는 음성 인식 작업에서 Llama 3(및 보다 일반적으로 멀티모달 기본 모델)의 강력한 성능을 보여줍니다. 당사 모델은 모든 벤치마크에서 Whisper20 및 SeamlessM4T와 같은 음성 전용 모델보다 우수한 성능을 발휘합니다. MLS 영어의 경우, 라마 3는 제미니와 비슷한 성능을 발휘합니다.

음성 번역. 또한 영어가 아닌 음성을 영어 텍스트로 번역하도록 요청하는 음성 번역 작업에서 모델의 성능을 평가했습니다. 이러한 평가에서는 FLEURS 및 Covost 2(Wang et al., 2021b) 데이터 세트를 사용하여 번역된 영어에 대한 BLEU 점수를 측정했습니다. 표 32는 이러한 실험의 결과를 보여줍니다. 음성 번역에서 우리 모델의 성능은 음성 번역과 같은 작업에서 멀티모달 기본 모델의 장점을 강조합니다.

음성 퀴즈. Llama 3의 음성 인터페이스는 놀라운 질문 답변 기능을 보여줍니다. 이 모델은 사전에 이러한 데이터에 노출된 적이 없어도 코드 전환된 음성을 쉽게 이해할 수 있습니다. 특히 이 모델은 단 한 번의 대화로만 학습되었음에도 불구하고 확장되고 일관된 다중 대화 세션이 가능합니다. 그림 30은 이러한 다국어 및 다중 라운드 기능을 강조하는 몇 가지 예를 보여줍니다.

보안. 영어와 스페인어로 된 20,000개의 세그먼트와 각각 독성이 표시된 19개의 다른 언어로 된 4,000개의 세그먼트로 구성된 다국어 오디오 기반 데이터 세트인 MuTox(Costa-jussà et al., 2023)에서 음성 모델의 안전성 성능을 평가했습니다. 오디오는 모델에 입력으로 전달되고 출력은 일부 특수 문자를 제거한 후 독성 여부를 평가합니다. MuTox 분류기(코스타-주사 외., 2023)를 Gemini 1.5 Pro에 적용하여 결과를 비교했습니다. 입력은 안전하다고 제안하고 출력은 독성이 있는 경우 추가된 독성(AT)의 비율을, 입력은 독성이라고 제안하고 답은 안전한 경우 손실된 독성(LT)의 비율을 평가했습니다. 표 33은 영어에 대한 결과와 21개 언어 전체에 대한 평균 결과를 보여줍니다. 추가된 독성 비율은 매우 낮습니다. 당사의 음성 모델은 영어의 경우 추가된 독성 비율이 11 TP3T 미만으로 가장 낮으며, 추가하는 것보다 훨씬 더 많은 독성을 제거합니다.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

8.5 음성 생성 결과

음성 생성의 맥락에서, 텍스트 정규화 및 운율 모델링 작업에 라마 3 벡터를 사용하는 마커 기반 스트리밍 입력 모델의 품질을 평가하는 데 중점을 둡니다. 이 평가는 라마 3 벡터를 추가 입력으로 사용하지 않는 모델과의 비교에 중점을 둡니다.

텍스트 정규화. 라마 3 벡터의 영향을 측정하기 위해 모델에서 사용하는 오른쪽 컨텍스트의 양을 다양하게 시도해 보았습니다. 유니코드 카테고리로 구분된 3개의 텍스트 정규화(TN) 토큰의 오른쪽 컨텍스트를 사용하여 모델을 학습시켰습니다. 이 모델은 라마 3 벡터를 사용하지 않고 3개의 태그가 있는 오른쪽 컨텍스트 또는 전체 양방향 컨텍스트를 사용한 모델과 비교했습니다. 예상대로 표 34에서는 전체 오른쪽 컨텍스트를 사용하면 Llama 3 벡터를 사용하지 않은 모델의 성능이 향상되는 것을 알 수 있습니다. 그러나 Llama 3 벡터를 포함하는 모델은 다른 모든 모델보다 성능이 뛰어나므로 입력에 긴 컨텍스트에 의존하지 않고도 마크 레이트 입력/출력 스트리밍이 가능합니다. Llama 3 8B 벡터가 있는 모델과 없는 모델, 그리고 서로 다른 오른쪽 컨텍스트 값을 사용하는 모델을 비교합니다.

리듬 모델링. 라마 3 8B를 사용한 라임 모델(PM)의 성능을 평가하기 위해 라마 3 벡터가 있는 모델과 없는 모델을 비교하는 두 세트의 인간 평가를 실시했습니다. 평가자들은 다양한 모델의 샘플을 듣고 선호도를 표시했습니다.

최종 음성 파형을 생성하기 위해 스펙트럼 특징을 예측하는 트랜스포머 기반 내부 음향 모델(Wu et al., 2021)과 WaveRNN 신경 보코더(Kalchbrenner et al., 2018)를 사용하여 최종 음성 파형을 생성했습니다.

첫 번째 테스트에서는 라마 3 8B PM을 라마 3 벡터를 사용하지 않는 스트리밍 벤치마크 모델과 직접 비교합니다. 두 번째 테스트에서는 Llama 3 벡터를 사용하지 않는 비스트리밍 벤치마크 모델과 Llama 3 8B PM을 비교했습니다. 표 35에서 볼 수 있듯이, 스트리밍 벤치마크와 비교했을 때 60%의 시간이 더 선호되었으며, 비스트리밍 벤치마크와 비교했을 때 63.6%의 시간이 더 선호되어 지각 품질이 크게 개선되었음을 알 수 있습니다. 라마 3 8B PM의 주요 장점은 마커 기반 스트리밍 기능(섹션 8.2.2)으로, 추론 프로세스 중에 짧은 지연 시간을 유지합니다. 이를 통해 모델의 룩어헤드 요구 사항이 줄어들어 비스트리밍 벤치마크 모델에 비해 더 빠른 반응과 실시간 음성 합성을 달성할 수 있습니다. 전반적으로 Llama 3 8B 라임 모델은 벤치마크 모델을 지속적으로 능가하여 합성 음성의 자연스러움과 표현력을 향상시키는 데 효과적임을 입증했습니다.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

Llama 3:一个多功能、开源的 AI 模型系列

 

Llama 3:一个多功能、开源的 AI 模型系列

 

Llama 3:一个多功能、开源的 AI 模型系列

 

 

9 관련 작업

 

라마 3의 개발은 언어, 이미지, 영상, 음성의 기본 모델에 대한 방대한 선행 연구를 기반으로 합니다. 이 백서의 범위에는 이러한 연구에 대한 포괄적인 개요가 포함되어 있지 않으므로 이러한 개요에 대해서는 Bordes 외(2024), Madan 외(2024), Zhao 외(2023a)를 참조하시기 바랍니다. 아래에서는 라마 3의 개발에 직접적인 영향을 준 주요 연구에 대한 간략한 개요를 제공합니다.

 

9.1 언어

범위. Llama 3는 기본 모델을 특징짓는 계속 증가하는 규모에 간단한 방법을 적용하는 지속적인 추세를 따릅니다. 계산 능력과 데이터 품질이 향상되어 405B 모델은 학습 전 계산 예산이 Llama 2의 70B의 거의 50배에 달합니다. 가장 큰 모델인 라마 3에는 405B 파라미터가 포함되어 있지만, 스케일링 법칙에 대한 이해가 높아져 실제로는 이전 모델보다 파라미터 수가 적고 PALM(Chowdhery 외, 2023)과 같은 성능이 더 떨어지는 모델(Kaplan 외, 2020; Hoffmann 외, 2022)에 비해 더 나은 성능을 제공합니다. 다른 프론티어 모델은 공개 정보가 제한적이지만 전반적인 성능이 비슷한 Claude 3 또는 GPT 4(OpenAI, 2023a)와 같은 크기로 제공됩니다.

소규모 모델. 소규모 모델의 개발은 대규모 모델의 개발과 함께 진행되어 왔습니다. 매개변수가 적은 모델은 추론 비용을 크게 개선하고 배포를 간소화할 수 있습니다(Mehta et al., 2024; Team et al., 2024). 더 작은 규모의 라마 3 모델은 계산적으로 최적의 훈련 포인트를 훨씬 초과하여 이를 달성함으로써 훈련 계산과 추론 효율성을 효과적으로 절충합니다. 또 다른 방법은 Phi와 같이 큰 모델을 작은 모델로 축소하는 것입니다(Abdin et al., 2024).

아키텍처. 라마 2에 비해 라마 3는 아키텍처 수정이 최소화되었지만, 최근 다른 기본 모델에서는 대체 설계를 모색하고 있습니다. 특히, 전문가 하이브리드 아키텍처(Shazeer 외. 2017, Lewis 외. 2021, Fedus 외. 2022, Zhou 외. 2022)는 모델의 용량을 효율적으로 늘리기 위한 방법으로 사용될 수 있으며, Mixtral(Jiang 외. 2024) 및 Arctic(Snowflake 2024). 라마 3의 성능이 이러한 모델을 능가하는 것은 고밀도 아키텍처가 제한적인 요소가 아니라 대규모에서 훈련 및 추론 효율성과 모델 안정성 측면에서 여전히 많은 상충 관계가 있음을 시사합니다.

오픈 소스. 오픈 소스 기본 모델은 지난 1년 동안 빠르게 발전해 왔으며, 현재 Llama3-405B는 현재의 폐쇄 소스 최신 모델과 비슷한 수준에 이르렀습니다. 최근 Mistral(Jiang 외, 2023), Falcon(Almazrouei 외, 2023), MPT(Databricks, 2024), Pythia(Biderman 외, 2023), Arctic(Snowflake, 2024) 등 여러 모델군이 개발되고 있습니다, OpenELM(메흐타 외, 2024), OLMo(그로네벨트 외, 2024), StableLM(벨라젠테 외, 2024), OpenLLaMA(겡과 리우, 2023), Qwen(바이 외, 2023), Gemma(팀 외, 2024), Grok(비더만 외, 2023), Gemma(비더만 외, 2024). 2024), Grok(XAI, 2024) 및 Phi(Abdin et al., 2024).

교육 후 라마 3의 사후 훈련은 확립된 인스트럭션 정렬 전략(Chung et al., 2022; Ouyang et al., 2022)을 따르고 인간의 피드백을 통한 정렬(Kaufmann et al., 2023)이 뒤따릅니다. 일부 연구에서는 경량 정렬 절차로 예상치 못한 결과가 나타난 반면(Zhou 등, 2024), 라마 3는 수백만 건의 인간 지시 및 선호도 판단을 사용해 거부 샘플링(Bai 등, 2022), 감독 미세 조정(Sanh 등, 2022), 직접 선호도 최적화(Rafailov 등, 2023) 등 사전 학습된 모델을 개선합니다. 이러한 명령어와 선호도 예시를 선별하기 위해 이전 버전의 Llama 3를 배포하여 필터링(Liu et al., 2024c), 재작성(Pan et al., 2024), 단서 및 응답 생성(Liu et al., 2024b)을 수행하고 여러 차례의 사후 훈련을 통해 이러한 기술을 적용했습니다.

 

9.2 멀티모달리티

라마 3 멀티모달 기능 실험은 여러 모달리티를 공동으로 모델링하기 위한 기본 모델에 대한 장기 연구의 일환입니다. 라마 3 접근 방식은 여러 논문에서 아이디어를 결합하여 Gemini 1.0 Ultra(Google, 2023) 및 GPT-4 Vision(OpenAI, 2023b)에 필적하는 결과를 달성했습니다(섹션 7.6 참조).

비디오비디오 입력을 지원하는 기본 모델의 수가 증가하고 있음에도 불구하고(Google, 2023; OpenAI, 2023b), 비디오와 언어의 공동 모델링에 대한 연구는 많지 않습니다. 라마 3과 유사하게, 현재 대부분의 연구는 비디오와 언어 표현을 정렬하고 비디오에 대한 질문과 답변 및 추론을 풀기 위해 어댑터 방법을 사용합니다(Lin 외. 2023; Li 외. 2023a; Maaz 외. 2024; Zhang 외. 2023; Zhao 외. 2022). 이러한 방법은 최첨단 기술과 경쟁할 수 있는 결과를 도출합니다(섹션 7.7 참조).

한자의 구어체(문어체가 아닌 구어체) 발음우리의 작업은 언어와 음성 모델링을 결합하는 더 큰 작업에도 영향을 미칩니다. 초기 공동 텍스트 및 음성 모델로는 AudioPaLM(Rubenstein 외, 2023), VioLA(Wang 외, 2023b), VoxtLM Maiti 외(2023), SUTLM(Chou 외, 2023) 및 Spirit-LM(Nguyen 외, 2024) 등이 있습니다. . 우리의 연구는 음성 및 언어 결합에 대한 이전의 구성적 접근 방식(예: Fathullah 외., 2024)을 기반으로 합니다. 대부분의 선행 연구와 달리, 우리는 음성 과제를 위해 언어 모델 자체를 미세 조정하지 않기로 결정했습니다. 그렇게 하면 비음성 과제와의 경쟁을 유발할 수 있기 때문입니다. 이러한 미세 조정 없이도 더 큰 모델 크기에서도 좋은 성능을 얻을 수 있음을 발견했습니다(8.4절 참조).

 

 

10 결론

 

고품질 기본 모델의 개발은 아직 초기 단계에 있습니다. Llama 3 개발 경험에 따르면 향후 이러한 모델을 개선할 여지가 많다는 것을 알 수 있습니다. Llama 3 모델 제품군을 개발하면서 고품질 데이터, 규모, 단순성에 중점을 두는 것이 일관되게 최상의 결과를 가져온다는 사실을 발견했습니다. 예비 실험에서 더 복잡한 모델 아키텍처와 훈련 시나리오를 탐색했지만, 이러한 접근 방식의 이점이 모델 개발에서 발생하는 추가적인 복잡성을 능가한다는 것을 발견하지 못했습니다.

Llama 3와 같은 플래그십 기본 모델을 개발하려면 많은 심층적인 기술 문제를 극복해야 할 뿐만 아니라 정보에 입각한 조직적 의사 결정도 필요합니다. 예를 들어, Llama 3가 일반적으로 사용되는 벤치마크 테스트에 실수로 과도하게 적합되지 않도록 하기 위해 사전 학습 데이터는 외부 벤치마크 테스트가 사전 학습 데이터로 오염되지 않도록 강력한 인센티브를 받는 독립된 팀에서 소싱하고 처리합니다. 또 다른 예로, 모델 개발에 관여하지 않은 소수의 연구원만 이러한 평가를 수행하고 액세스하도록 허용하여 인적 평가의 신뢰성을 보장합니다. 이러한 조직적 결정은 기술 논문에서는 거의 논의되지 않지만, 우리는 이러한 결정이 라마 3 모델 제품군을 성공적으로 개발하는 데 매우 중요하다는 사실을 발견했습니다.

더 많은 연구 커뮤니티가 기본 모델 개발의 핵심 요소를 이해하고 향후 기본 모델 개발에 대한 보다 통찰력 있는 공개 토론에 기여할 수 있도록 개발 과정의 세부 사항을 공유합니다. 또한 멀티모달 기능을 라마 3에 통합하기 위한 예비 실험 결과도 공유합니다. 이러한 모델은 아직 개발 중이며 아직 출시할 준비가 되지 않았지만, 결과를 조기에 공유함으로써 이러한 방향으로의 연구가 가속화되기를 바랍니다.

이 백서에 자세히 설명된 안전성 분석의 긍정적인 결과를 바탕으로, 광범위한 사회적으로 관련된 사용 사례를 위한 AI 시스템 개발 프로세스를 가속화하고 연구 커뮤니티가 모델을 검토하고 더 안전하고 개선할 방법을 찾을 수 있도록 하기 위해 Llama 3 언어 모델을 공개적으로 릴리스합니다. 기본 모델의 공개는 이러한 모델의 책임감 있는 개발에 매우 중요하다고 생각하며, Llama 3의 출시를 통해 업계 전체가 개방적이고 책임감 있는 AI 개발을 수용하도록 장려할 수 있기를 바랍니다.

© 저작권 정책

관련 문서

댓글 없음

댓글에 참여하려면 로그인해야 합니다!
지금 로그인
없음
댓글 없음...