顔を抱き締める|プリプリント|論文|デモ

大規模な言語モデル(LLM)は自然言語処理を大幅に進めていますが、その進捗はまだ言語間で等しくありません。ほとんどのLLMは英語のような高リソース言語でトレーニングされていますが、多言語モデルは一般に単一言語のモデルを下回っています。さらに、多言語の基礎の側面は、計算需要やライセンス体制など、生成する副産物を制限することがあります。この研究では、低リソースの設定で使用するために調整されたオープンファウンデーションモデルの開発、それらの制限、およびその利点を文書化します。これは、Brazilian Portuguese Text Generationの2つのコンパクトモデルです。 Githubの許容Apache 2.0ライセンスの下でそれらをリリースし、コミュニティの使用とさらなる開発のために顔を抱き締めます。
Teenytinyllamaの主な使用は、低リソース言語の言語モデルの開発に関連する課題を調査することです。トレーニング中に保存されたチェックポイントは、科学的実験を実行するための制御された設定を提供することを目的としています。また、使用がApache 2.0ライセンスに従っている限り、DeploymentのためにTeenytinyllaMaをさらに微調整して適応させることもできます。微調整されたモデルの基礎として事前に訓練されたTeenytinyllamaを使用することにした場合は、あなた自身のリスクとバイアス評価を実施してください。
Teenytinyllamaは、展開を目的としていません。それは製品ではなく、人間に面した相互作用に使用すべきではありません。
Teenytinyllamaモデルは、ブラジルのポルトガル語のみであり、他の言語での翻訳やテキストの生成には適していません。
Teenytinyllamaは、言語モデルが一般的に展開される下流のコンテキストに微調整されていません。
Webから削り取られた大規模なテキストデータセットで訓練された他のほとんどすべての言語モデルと同様に、TTLペアは、多くの現実世界のアプリケーション、特に事実に基づいた信頼性のない非毒性のテキスト生成を必要とするもののすぐに使えるソリューションにならない動作を示しました。私たちのモデルはすべて以下の対象となります。
幻覚:このモデルは、真実と間違えられる可能性のあるコンテンツを生成できますが、実際には誤解を招くまたは完全に虚偽、つまり幻覚です。
バイアスと毒性:このモデルは、それを訓練するために使用されるデータから社会的および歴史的なステレオタイプを継承します。これらのバイアスを考えると、モデルは、個人、グループ、またはコミュニティに有毒な含有量、すなわち有害、攻撃的、または有害なものを生成することができます。
信頼できないコード:モデルは、誤ったコードスニペットとステートメントを生成する場合があります。これらのコード世代は、提案や正確な解決策として扱われるべきではありません。
言語の制限:このモデルは、主にブラジルの標準的なポルトガル語を理解するように設計されています。他の言語はその理解に挑戦し、それに応じて潜在的な誤解やエラーにつながる可能性があります。
繰り返しと冗長性:モデルは、特に世代中の繰り返しのペナルティがわずかな値に設定されている場合)に繰り返しループに陥る可能性があります。
したがって、私たちのモデルは許容ライセンスでリリースされていますが、実際のアプリケーションに使用することを意図している場合、これらのモデルでリスク分析を実行し、視聴者と対話するアプリケーションでこれらのモデルの出力をモデレートすることを意図している場合、ユーザーにこれらのモデルでリスク分析を実行するように促します。
このリポジトリには、モデルのトレーニングに使用されるソースコードが含まれています。ハグするフェイスエコシステム、すなわちトランス、データセット、トークンザー、加速を使用して、すべてのコード実装を作成しました。これにより、再現性、適応、およびさらなるスケーリングが可能になります。トレーニングと評価のスクリプトは、標準的なPytorch構造に従いますが、実験を追跡するためにCodeCarbonとWeights&Biasesを利用しています。
すべての要件は、recumporation.txtファイル(pythonバージョン:3.10.12)にリストされています。
トレーニング前:トレーニング前のフォルダーには、 train-sentencepiece.py pre-training.py 2つのメインスクリプトが含まれています。これらのスクリプトを使用して、Tententpience TokenizerとModelsの両方をトレーニングしました。ここでそれらを実行する方法に関する詳細情報を見つけることができます。
微調整:微調整フォルダーには、 supervised-fine-tuning.pyスクリプトが含まれています。このスクリプトは、Instand-Aira Datasetバージョン2.0で460mバージョンのモデルを微調整するために使用されます。ここでそれらを実行する方法に関する詳細情報を見つけることができます。
評価:評価フォルダーには、評価の結果(Eval.MD)が含まれています。また、 evaluation.pyスクリプトも含まれており、トレーニングに来る可能性のあるモデルまたはモデルのチェックポイントを評価できるようにします。 lm-evaluation-harness-pt.ipynbノートブックはLM-Evaluation-HarnessのLaivietバージョンでモデルを評価する方法を紹介しています。ここでそれらを実行する方法に関する詳細情報を見つけることができます。ポルトガル語のベンチマークに関する評価は、新しい平均フォルダーで入手できます。
ユーティリティ:ユーティリティフォルダーには、いくつかの補助スクリプトが含まれています(詳細情報はこちら):
chinchilla-estimation.py 、チンチラ紙を参照として使用して、モデルサイズに関するデータセットサイズを推定するのに役立ちます。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 deinteligência人工éticae segura)によって資金提供されました。 Raiesは、Fapergs(FundaçãodeAmparoàpesquisado estado do rio grande do sul)とcnpq(conselho nacional de desenvolvimentocientíficoetecnológico)によってサポートされているプロジェクトです。
Teenytinyllamaは、バージョン2.0のApacheライセンスに基づいてライセンスされています。詳細については、ライセンスファイルを参照してください。