>  기사  >  기술 주변기기  >  58줄의 코드 스케일 Llama 3~1백만 컨텍스트, 모든 미세 조정 버전 적용 가능

58줄의 코드 스케일 Llama 3~1백만 컨텍스트, 모든 미세 조정 버전 적용 가능

WBOY
WBOY앞으로
2024-05-06 18:10:081091검색

오픈소스의 위엄을 자랑하는 라마 3, 원본 컨텍스트 창은 실제로... 8k만 있어서 "냄새가 너무 좋다"라는 말을 삼키게 되었습니다.

현재는 32k부터 100k가 일반적입니다. 이는 오픈 소스 커뮤니티에 기여할 수 있는 공간을 남기기 위한 것인가요?

오픈 소스 커뮤니티는 확실히 이 기회를 놓치지 않았습니다.

이제 단 58줄의 코드만으로 Llama 3 70b의 모든 미세 조정 버전이 자동으로 1048k (백만) 컨텍스트까지 확장될 수 있습니다.

58行代码把Llama 3扩展到100万上下文,任何微调版都适用

뒤에는 좋은 맥락을 확장한 Llama 3 70B Instruct의 미세 조정 버전에서 추출한 LoRA가 있습니다. 파일은 800mb에 불과합니다.

다음으로 Mergekit을 사용하여 동일한 아키텍처의 다른 모델과 함께 실행하거나 모델에 직접 병합할 수 있습니다.

58行代码把Llama 3扩展到100万上下文,任何微调版都适用

사용된 1048k 컨텍스트의 미세 조정 버전은 인기 있는 건초 더미 테스트에서 올 그린(100% 정확도) 점수를 달성했습니다.

58行代码把Llama 3扩展到100万上下文,任何微调版都适用

오픈소스의 발전 속도는 기하급수적이라고 말씀드리고 싶습니다.

58行代码把Llama 3扩展到100万上下文,任何微调版都适用

1048k 상황별 LoRA는 어떻게 만들어졌나요

먼저, 기업용 AI 솔루션 스타트업인 Gradient AI에서 Llama 3 미세 조정 모델의 1048k 상황별 버전을 제공합니다.

58行代码把Llama 3扩展到100万上下文,任何微调版都适用

해당 LoRA는 개발자 Eric Hartford에서 제공한 것입니다. 미세 조정된 모델과 원본 버전의 차이점을 비교하여 매개변수 변경 사항을 추출합니다.

먼저 524k 상황별 버전을 만든 뒤 1048k 버전으로 업데이트했습니다.

58行代码把Llama 3扩展到100万上下文,任何微调版都适用

먼저 Gradient 팀은 오리지널 Llama 3 70B Instruct를 기반으로 훈련을 계속하여 Llama-3-70B-Instruct-Gradient-1048k를 획득했습니다.

구체적인 방법은 다음과 같습니다.

  • 위치 인코딩 조정: NTK 인식 보간을 사용하여 RoPE 세타의 최적 스케줄링을 초기화하고 최적화하여 확장 후 고주파수 정보의 손실을 방지합니다. length
  • Progressive Training: UC Berkeley Pieter Abbeel 팀이 제안한 Blockwise RingAttention 방법을 사용하여 모델의 컨텍스트 길이를 확장합니다

팀이 Ring Attention 위에 병렬화를 계층화했다는 점은 주목할 만합니다. 대규모 GPU 클러스터를 더 잘 활용하기 위해 맞춤형 네트워크 토폴로지를 통해 장치 간에 많은 KV 블록을 전송함으로써 발생하는 네트워크 병목 현상을 처리하는 데 사용됩니다.

궁극적으로 모델 훈련 속도가 33배 향상되었습니다.

58行代码把Llama 3扩展到100万上下文,任何微调版都适用

긴 텍스트 검색 성능 평가에서는 가장 어려운 버전에서만 "바늘"이 텍스트 중간에 숨겨져 있으면 오류가 발생하기 쉽습니다.

58行代码把Llama 3扩展到100万上下文,任何微调版都适用

58行代码把Llama 3扩展到100万上下文,任何微调版都适用

확장된 컨텍스트로 미세 조정된 모델을 만든 후 오픈 소스 도구인 Mergekit을 사용하여 미세 조정된 모델과 기본 모델을 비교하고 매개변수 차이를 추출하여 LoRA로 만듭니다.

또한 Mergekit을 사용하면 추출된 LoRA를 동일한 아키텍처의 다른 모델에 병합할 수 있습니다.

병합 코드는 Eric Hartford가 GitHub에서 오픈 소스로 제공하며 길이는 58줄에 불과합니다.

58行代码把Llama 3扩展到100万上下文,任何微调版都适用

이 LoRA 병합이 중국어로 미세 조정된 Llama 3에서 작동할지는 확실하지 않습니다.

그러나 중국 개발자 커뮤니티가 이러한 전개에 주목하고 있음을 알 수 있습니다.

58行代码把Llama 3扩展到100万上下文,任何微调版都适用

524k 버전 LoRA: https://huggingface.co/cognitivecomputations/Llama-3-70B-Gradient-524k-adapter

1048k 버전 LoRA: https://huggingface.co/ cognitivecomputations/Llama-3-70B-Gradient-1048k-adapter

병합 코드: https://gist.github.com/ehartford/731e3f7079db234fa1b79a01e09859ac

위 내용은 58줄의 코드 스케일 Llama 3~1백만 컨텍스트, 모든 미세 조정 버전 적용 가능의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제