포옹 얼굴 | 프리 프린트 | 종이 | 데모

LLM (Lange Language Models)은 자연어 처리가 크게 발전했지만 그 진보는 아직 언어에서 동일하지 않았습니다. 대부분의 LLM은 영어와 같은 고 자원 소송 언어로 교육을 받고 있지만 다국어 모델은 일반적으로 단일 언어 모델을 저조합니다. 또한, 다국어 재단의 측면은 때때로 계산 요구 및 라이센스 체제와 같이 생산 된 부산물을 제한합니다. 이 연구에서는 저수고 환경 설정, 한계 및 이점에 사용하도록 조정 된 오픈 파운데이션 모델의 개발을 문서화합니다. 이것은 Teenytinyllama 쌍입니다. 브라질 포르투갈어 텍스트 생성을위한 두 가지 소형 모델입니다. 우리는 Github에 대한 허용 Apache 2.0 라이센스와 커뮤니티 사용 및 추가 개발을위한 포옹 얼굴에 따라 해제합니다.
Teenytinyllama의 기본 사용은 저주적 언어를위한 언어 모델 개발과 관련된 문제를 연구하는 것입니다. 훈련 중에 저장된 체크 포인트는 과학 실험을 수행하기위한 통제 된 설정을 제공하기위한 것입니다. APACHE 2.0 라이센스를 따르고있는 한, 배치를 위해 TeenyTinyllama를 더 미세 조정하고 적응시킬 수도 있습니다. 미세 조정 된 모델의 기초로 미리 훈련 된 Teenytinyllama를 사용하기로 결정한 경우 자신의 위험 및 편견 평가를 수행하십시오.
Teenytinyllama는 배포를위한 것이 아닙니다. 그것은 제품이 아니며 인간을 향한 상호 작용에 사용해서는 안됩니다.
Teenytinyllama 모델은 브라질 포르투갈어 언어이며 다른 언어로 번역 또는 텍스트를 생성하는 데 적합하지 않습니다.
Teenytinyllama는 언어 모델이 일반적으로 배포되는 다운 스트림 컨텍스트에 대해 미세 조정되지 않았습니다.
웹에서 긁힌 대형 텍스트 데이터 세트에 대해 교육을받은 거의 모든 다른 언어 모델과 마찬가지로 TTL 쌍은 많은 실제 응용 프로그램, 특히 사실적이고 신뢰할 수있는 비 독성 텍스트 생성을 필요로하는 많은 실제 솔루션을 만들지 않는 행동을 보여주었습니다. 우리의 모델은 모두 다음과 같습니다.
환각 : 이 모델은 진실로 착각 할 수 있지만 실제로는 오해의 소지가 있거나 완전히 거짓, 즉 환각입니다.
편견과 독성 : 이 모델은 그것을 훈련시키는 데 사용되는 데이터의 사회적 및 역사적 고정 관념을 상속합니다. 이러한 편견을 감안할 때, 모델은 독성 함량, 즉 유해하거나 공격적이거나 개인, 그룹 또는 지역 사회에 해를 끼칠 수 있습니다.
신뢰할 수없는 코드 : 이 모델은 잘못된 코드 스 니펫 및 명령문을 생성 할 수 있습니다. 이 코드 세대는 제안 또는 정확한 솔루션으로 취급해서는 안됩니다.
언어 제한 : 이 모델은 주로 표준 브라질 포르투갈어를 이해하도록 설계되었습니다. 다른 언어는 이해력에 도전하여 응답으로 잠재적 인 해석 또는 오류로 이어질 수 있습니다.
반복 및 Verbosity : 모델은 반복 루프에 붙어있을 수 있습니다 (특히 세대 동안의 반복 페널티가 빈약 한 가치로 설정된 경우) 또는 그 프롬프트와 관련이없는 장황한 응답을 생성 할 수 있습니다.
따라서 우리의 모델은 허용 라이센스로 출시 되더라도 실제 응용 프로그램에 사용하려는 경우 이러한 모델에 대한 위험 분석을 수행하고 청중과 상호 작용할 애플리케이션에서 이러한 모델의 출력을 조정하는 사람이 항상 언어 모델과 상호 작용하고 있음을 인식 할 수 있도록 인간에게 이러한 모델에 대한 위험 분석을 수행 할 것을 촉구합니다.
이 저장소에는 모델을 훈련시키는 데 사용되는 소스 코드가 포함되어 있습니다. 우리는 Hugging Face 생태계, 즉 변압기, 데이터 세트, 토큰 화 및 가속에 묶인 라이브러리를 사용하여 모든 코드 구현을 만들어 재현성, 적응 및 추가 스케일링을 가능하게합니다. 우리의 훈련 및 평가 스크립트는 표준 Pytorch 구조를 따르고, 우리는 실험을 추적하기 위해 Codecarbon과 weights & biases를 사용했습니다.
모든 요구 사항은 요구 사항 .txt 파일 (Python 버전 : 3.10.12)에 나열되어 있습니다.
사전 훈련 : 사전 훈련 폴더에는 pre-training.py 및 train-sentencepiece.py 의 두 가지 주요 스크립트가 포함되어 있습니다. 이 스크립트는 Sentence -Fience Tokenizer와 모델을 모두 훈련시키는 데 사용되었습니다. 여기에서 실행하는 방법에 대한 자세한 정보를 찾을 수 있습니다.
미세 조정 : 미세 조정 폴더에는 supervised-fine-tuning.py 스크립트가 포함되어 있습니다. 이 스크립트는 Instruct-Aira DataSet 버전 2.0에서 460m 버전의 모델을 미세 조정하는 데 사용됩니다. 여기에서 실행하는 방법에 대한 자세한 정보를 찾을 수 있습니다.
평가 : 평가 폴더에는 평가 결과가 포함되어 있습니다 (Eval.Md). 또한 evaluation.py 포함되어 있습니다 .Py 스크립트는 귀하가 훈련 할 수있는 모델 또는 모델의 검문소를 평가할 수 있습니다. lm-evaluation-harness-pt.ipynb 노트북은 LM-Evaluation-Harness 의 Laiviet 버전에서 모델을 평가하는 방법을 보여줍니다. 여기에서 실행하는 방법에 대한 자세한 정보를 찾을 수 있습니다. 포르투갈어 벤치 마크에 대한 평가는 New-Eval 폴더에서 제공됩니다.
유틸리티 : 유틸리티 폴더에는 일부 보조 스크립트가 포함되어 있습니다 (자세한 내용은 여기에서 사용 가능).
chinchilla-estimation.py Chinchilla 용지를 참조로 사용하여 모델 크기에 관한 데이터 세트 크기를 추정하는 데 도움이됩니다.quantize.py 모델에서 4 비트 AWQ 양자화를 수행합니다.tokenize-dataset.py 텍스트 데이터 세트의 토큰 화 된 버전을 생성하고 포옹 페이스 허브에 업로드합니다. img 폴더에는 logs and plots 라는 하위 폴더가 있습니다. 그것에서, 당신은 우리가 사전 인쇄에서 사용한 모든 로그와 플롯 (및 플롯을 만드는 데 사용되는 스크립트)을 찾을 수 있습니다.
@misc{correa24ttllama,
title = {TeenyTinyLlama: open-source tiny language models trained in Brazilian Portuguese},
author = {Corr{ ^ e}a, Nicholas Kluge and Falk, Sophia and Fatimah, Shiza and Sen, Aniket and De Oliveira, Nythamar},
journal={arXiv preprint arXiv:2401.16640},
year={2024}
}
@misc{correa24ttllama,
doi = {10.1016/j.mlwa.2024.100558},
url = {https://www.sciencedirect.com/science/article/pii/S2666827024000343},
title = {TeenyTinyLlama: open-source tiny language models trained in Brazilian Portuguese},
author = {Corr{ ^ e}a, Nicholas Kluge and Falk, Sophia and Fatimah, Shiza and Sen, Aniket and De Oliveira, Nythamar},
journal={Machine Learning With Applications},
publisher = {Springer},
year={2024}
}이 연구는 Raies (Rede de Inteligência 인공 ética e segura)가 자금을 지원했습니다. Raies는 Fapergs (Fundação de Amparo à Pesquisa do estado do rio Grande do sul)와 CNPQ (Conselho nacional de desenvolvimento científico e tecnológico)가 지원하는 프로젝트입니다.
Teenytinyllama는 Apache 라이센스, 버전 2.0에 따라 라이센스가 부여됩니다. 자세한 내용은 라이센스 파일을 참조하십시오.