이 블로그에서, 나는 우리가 Amabri Base (Cognitive-Lab/Ambari-7b-Instruct-V0.1)와 Amabri Instruct (Cognitive-Lab/Ambari-7B-Instruct-V0.1)를 훈련시키기 위해 우리가 겪은 세심한 접근법에 대한 통찰력을 공유하게되어 기쁩니다. 우리의 프로세스에 대한 높은 수준의 엿볼 수있는이 이야기는 광범위한 테스트 및 평가의 정점 인 모든 기술적 세부 사항의 다가오는 계시의 선구자 역할을합니다. 우리는 혁신적인 오픈 소스 이중 언어 이중 언어-영어 대형 언어 모델 인 Amabri의 생성으로 이어진 복잡성을 풀면서 계속 지켜봐 주시기 바랍니다.
Amabri의 목적
대형 언어 모델 (LLM)의 역동적 인 환경에서 Amabri의 생성은 다각적 인 목적에서 비롯되었습니다.
LLM이 점점 더 주류 사용법에 스며 들면서 오픈 소스 모델은 세계 지식이 풍부 해지면서 주로 영어 중심의 훈련에서 나옵니다. Amabri는 이러한 범위를 넓히고 LLM을 다양한 언어에 적응시키기위한 선구적인 이니셔티브 역할을합니다.
LLM의 진화하는 환경에서, 1 조에서 10 조의 토큰 범위의 방대한 양의 훈련 데이터에 대한 수요가 표준이되었습니다. 그러나 이것은 문서화 된 자원이 제한된 언어에 어려움을 겪습니다. 우리의 추구에서, 우리는 Llama/Mistral과 같은 미리 훈련 된 LLM의 적응에 중점을 두어 Amabri의 경우 새로운 언어 인 Kannada의 뉘앙스를 이해합니다. Kannada는 매우 낮은 자원 소송 언어로 분류되지 않았음에도 불구하고 우리의 가설과 방법론을 테스트하기위한 이상적인 후보자 역할을했습니다. 훈련과 양조의 단계를 엄격하게 정의하면서 전체 프로세스를 위해 10 억 개의 훈련 토큰을 설정했습니다.
그 후, 우리는 데이터 세트를 세 심하게 제작하고 그에 따라 배포 한 후 프로세스의 단계를 묘사했습니다.
이 고의적 인 접근법은 Amabri의 발전을위한 토대를 마련하여 LLM의 영역 내에서 언어 적응성의 경계를 높였습니다.
언어 모델의 효율성에 중요한 구성 요소 인 토큰 화는 오픈 소스 LLM의 맥락에서 칸나다어 텍스트에 대한 독특한 도전을 제기했습니다. 기존의 많은 모델은 비효율적으로 캐릭터 수준의 토큰 화에, 특히 추론 중에 전반적인 성능에 영향을 미칩니다. 이를 해결하기 위해 SentencePiece를 사용하여 Kannada 텍스트를위한 특수 토큰 화 모델을 개발했습니다. 이 모델은 기본 LLAMA 토큰 화기와 완벽하게 통합되어 49,600의 포괄적 인 어휘를 17,600으로 확장했습니다.
우리의 접근 방식에는 세 가지 데이터 세트 크기에 대한 토큰 화제 모델을 훈련 시켰으며 100,000 개의 토큰으로 구성된 데이터 세트로 최적의 결과를 보여줍니다. 우리가 Amabri를 진화함에 따라, 다가오는 반복에는 48,000의 낮은 어휘 크기를 사용하여 정제 된 토큰 화 전략이 특징입니다. Andrej Karpathy가 그의 트위터 게시물 (Twitter의 Andrej Karpathy)에서 공유 한 통찰력으로 검증 된이 조정은 전반적인 효율성을 높이기위한 것입니다.
효율성을 탐색하는 것이 궁금한 점이 있습니까? 여기서는 토큰 화제를 테스트 할 수 있습니다.
사전 훈련
효율적인 토큰 화제를 사용하여 다음 결정적인 단계는 새로 풍성한 어휘로 모델을 익히는 것을 목표로 한 사전 훈련 단계였습니다. 이 프로세스를 최적화하기 위해 다양한 소스에서 포괄적 인 데이터 세트를 선별했습니다. 특히, 우리는이 단계에서 LORA를 사용하여 훈련하고 모델을 완전히 훈련시키는 두 가지 뚜렷한 접근법을 탐색했습니다. 이 전략적 결정은 Amabri의 개발을위한 최적의 경로를 분별하려는 우리의 욕구에서 비롯되었습니다.
이러한 방법론 사이의 상세한 비교는 곧 공개 될 것이지만, 우리는 몇 가지 초기 관찰을 수상했습니다.
우리는 지속적인 테스트가 이러한 관찰을 개선 할 수 있음을 인정하지만,이 스냅 샷은 우리의 진행 상황에 대한 귀중한 통찰력을 제공합니다. 사전 훈련 단계는 2xA100 GPU의 클러스터를 사용하여 5 억 개의 토큰을 포함하는 실질적인 코퍼스에서 전체 체중 사전 훈련을 위해 약 25 시간이 걸렸습니다.
완전히 미세 조정 된 모델의 무게는 이제 포옹에 사용할 수 있다는 것을 언급 할 가치가 있습니까? -https://huggingface.co/cognitive-lab/ambari-7b-base-v0.1, 커뮤니티 내 오픈 소스 지식 공유에 기여합니다.
이중 언어 다음 토큰 예측
Sarvam.ai의 Open Hathi 시리즈에서 영감을 얻은이 단계는 우리의 훈련 전략에 계획되지 않은 중추적 인 추가 사항이었습니다. 200,000 개의 토큰의 데이터 세트를 생성 한 우리는 미세 조정을 위해 LORA를 활용하여 모델에 언어 이해를 향상시키는 것을 목표로합니다. 우리가 발전함에 따라, 우리의 초점은 칸나다어에서 '세계 지식'을 심어주는 데 초점을 맞췄습니다. 칸나다어 내용의 부족, 특히 영어에 비해 번역으로 바뀌 었습니다. indictrans2를 활용하면서, 우리는 주로 Wikipedia에서 공급되는 영어 콘텐츠를 Kannada로 번역했습니다. 그러나, 기존의 단일 단일 단일 토큰 예측 대신, 우리는 획기적인 접근법, 즉 이중 언어 다음 토큰 예측을 도입했습니다. 칸나다어와 영어 사이의 번갈아 가며,이 방법은 모델이 다음 번의 예측 중에 정보에 교차 적으로 참석하도록 강요했습니다. 이 미묘한 접근 방식은 칸나다어와 영어 사이의 조정을 증가시킬뿐만 아니라 훈련 중 힌디어와 영어 토큰에 대한 자연스럽게 균형을 잡았습니다. 이 단계는 Amabri의 훈련 여행에 추가 정교함을 추가했습니다.
번역 결제
이 단계의 의도는 영어와 그에 해당하는 칸나다어 토큰 사이의 일관된 관계를 확립하는 것이 었습니다. 미세 조정을 위해 낮은 순위 적응을 사용하면서, 우리는 매우 낮은 순위 값을 사용하기로 한 결정과 관련하여 몇 가지 과제를 겪었으며, 이는 덜 효과적인 것으로 판명되었습니다. 데이터 세트 크기가 100,000 개의 토큰 인이 단계는 제한 사항을 제시했으며 개선의 필요성을 인정합니다. 우리가 훈련 과정의 이러한 측면을 개선함에 따라, Amabri의 이중 언어 능력을 향상시키기위한 우리의 약속은 여전히 흔들리지 않습니다.
이중 언어 지침 미세 조정
이 중추적 인 단계에서, 우리는 모델의 응답 성을 형성하기 위해 저 순위의 적응으로 감독 된 미세 조정을 사용했습니다. 사용자 프롬프트/지침 및 해당 응답으로 구성된 채팅 템플릿 구조를 수용하여 이중 언어 지침의 영역을 미세 조정하는 영역으로 모험했습니다. 이 접근법은 사용자 프롬프트 또는 지시에 지정된 언어를 기반으로 영어 또는 칸나다어로 모델을 적절하게 응답하도록 모델을 교육하는 것이 포함되었습니다.
채팅 템플릿
< | user | >
{user prompt / instruction}
< | endoftext | >
< | assistant | >
{response}
< | endoftext | >예를 들어, 사용자 프롬프트가 주어지면
"칸나다어에서 10 개의 학습 팁을주세요."
응답
이 모델은 칸나다어에서 응답을 원활하게 생성하여 언어 일관성을 유지합니다. 교육 과정을 풍부하게하기 위해 Alpaca Instruct, Dolly Instruct 등을 포함한 다양한 명령 데이터 세트를 합병했습니다. AI4BHARAT에서 Google, Azure 및 IndicTrans2 모델의 사용자 정의 배포와 같은 번역 API를 활용하여 포괄적 인 이중 언어 인자 데이터 세트를 제작했습니다.
여기에서 포옹 얼굴에서 공개적으로 공개되는 데이터 세트는 다양한 언어 시나리오를 포함합니다. 훈련 중에, 우리는 4 가지 별개의 표현으로 감독 된 미세 조정을 구현했습니다.
이 세심한 접근 방식은 모델을 다른 언어로 응답하는 데 익숙해 졌을뿐만 아니라 다양한 교차 작업을 마스터하기위한 토대를 마련했습니다.
이 세밀하게 조정 된 모델의 무게는 포옹 얼굴에 액세스 할 수 있으며 실습 경험을 위해 Chat.cognitivelab.in에서 4 비트 양자화 된 버전을 탐색 할 수 있습니다.
모델 정제의 정점 단계에서 우리는 직접 선호도 최적화 (DPO)의 세계를 탐구했습니다. 다양한 오픈 소스 모델에서 관찰 된 성공에서 영감을 얻은이 전략적 선택은 모델을 조정할뿐만 아니라 벤치 마크의 개선을 주도하는 것을 목표로했습니다. 이 실험적인 여정에 착수하면서, 우리는 의인성/HH-RLHF 데이터 세트를 활용했습니다. 이를 칸나다어로 번역하면서, 우리는 모델을 DPO 미세 조정에 적용했으며, 현재 성능 영향을 측정하기 위해 포괄적 인 평가를 받고 있습니다.
개선 범위
이 프레임 워크에 제공된 모델이 해독을 겪지 않았다는 것을 알고 있어야합니다. 그들은 인상적인 언어 기능을 보여 주지만 유해하거나 공격적으로 간주 될 수있는 컨텐츠를 생성 할 가능성이 있습니다. 사용자는 특히 공개 또는 민감한 응용 프로그램에서 재량을 행사하고 모델의 출력을 면밀히 모니터링하는 것이 좋습니다.
우리는이 프로젝트를 강화하고 확장하기위한 기여를 환영합니다. 제안 또는 개선 사항이 있으면 문제를 열거나 풀 요청을 제출하십시오.
이 프로젝트는 GNU GPL v3.0 라이센스에 따라 라이센스가 부여됩니다. 자세한 내용은 license.md 파일을 참조하십시오.
중요 : GPL 3.0 라이센스는이 저장소에 제공된 소스 코드 및 데이터 세트에만 적용됩니다. Indic-Llm은 Meta의 LLAMA 2 모델의 파생물이므로 LLAMA 2의 원래 라이센스가 적용되며 변경할 수 없습니다. 따라서 모델 라이센스에 관한 포괄적 인 세부 정보는 LLAMA2-License 파일을 참조하십시오.
이 저장소는 다음 리포지토리에서 영감을 얻습니다.