🚀 Code Llama
Code Llamaは、70億から340億のパラメータ規模の事前学習および微調整された生成型テキストモデルのコレクションです。このリポジトリは、Hugging Face Transformers形式の34Bパラメータのベースバージョンです。このモデルは、一般的なコード合成と理解のために設計されています。他のモデルへのリンクは、下部のインデックスに記載されています。
⚠️ 重要提示
これは非公式のCode Llamaリポジトリです。公式のMetaリポジトリはMeta Llama organizationで見つけることができます。
🚀 クイックスタート
このモデルを使用するには、transformersをインストールする必要があります。
pip install transformers.git accelerate
✨ 主な機能
- [x] コード補完
- [ ] インフィリング
- [ ] 命令応答 / チャット
- [ ] Python専用機能
💻 使用例
基本的な使用法
from transformers import AutoTokenizer
import transformers
import torch
model = "codellama/CodeLlama-34b-hf"
tokenizer = AutoTokenizer.from_pretrained(model)
pipeline = transformers.pipeline(
"text-generation",
model=model,
torch_dtype=torch.float16,
device_map="auto",
)
sequences = pipeline(
'import socket\n\ndef ping_exponential_backoff(host: str):',
do_sample=True,
top_k=10,
temperature=0.1,
top_p=0.95,
num_return_sequences=1,
eos_token_id=tokenizer.eos_token_id,
max_length=200,
)
for seq in sequences:
print(f"Result: {seq['generated_text']}")
📚 ドキュメント
モデルの詳細
このモデルの使用はMetaのライセンスによって管理されています。MetaはCode Llamaシリーズの大規模言語モデル(LLM)を開発し、公開しています。
属性 |
详情 |
モデル開発者 |
Meta |
バリエーション |
Code Llamaには3つのモデルサイズと3つのバリエーションがあります。 - Code Llama: 一般的なコード合成と理解のために設計されたベースモデル - Code Llama - Python: Python用に特別に設計されたモデル - Code Llama - Instruct: 命令に従い、より安全なデプロイを目的としたモデル すべてのバリエーションは7B、13B、34Bのパラメータサイズで利用可能です。 |
入力 |
モデルはテキストのみを入力とします。 |
出力 |
モデルはテキストのみを生成します。 |
モデルアーキテクチャ |
Code Llamaは、最適化されたトランスフォーマーアーキテクチャを使用した自己回帰型言語モデルです。 |
モデルの日付 |
Code Llamaとそのバリエーションは、2023年1月から7月の間に学習されました。 |
ステータス |
これはオフラインデータセットで学習された静的モデルです。Code Llama - Instructの将来のバージョンは、コミュニティのフィードバックを元にモデルの安全性を改善した上でリリースされます。 |
ライセンス |
カスタム商用ライセンスはhttps://ai.meta.com/resources/models-and-libraries/llama-downloads/で入手できます。 |
研究論文 |
詳細は論文 "Code Llama: Open Foundation Models for Code" またはそのarXivページを参照してください。 |
想定される使用方法
想定される使用ケース Code Llamaとそのバリエーションは、英語および関連するプログラミング言語における商用および研究用途を想定しています。ベースモデルのCode Llamaは、様々なコード合成と理解タスクに適用でき、Code Llama - PythonはPythonプログラミング言語を専門に扱うように設計されており、Code Llama - Instructはコードアシスタントや生成アプリケーションでより安全に使用することを目的としています。
想定外の使用方法 適用される法律や規制(貿易コンプライアンス法を含む)に違反する方法での使用。英語以外の言語での使用。Code Llamaとそのバリエーションの許容使用ポリシーおよびライセンス契約で禁止されている他の方法での使用。
ハードウェアとソフトウェア
学習要因 カスタム学習ライブラリを使用しました。公開されたモデルの学習と微調整は、MetaのResearch Super Clusterで実行されました。
二酸化炭素排出量 合計で、9つのCode Llamaモデルの学習には、A100 - 80GB(TDP 350 - 400W)のハードウェアで40万GPU時間の計算が必要でした。推定総排出量は65.3tCO2eqで、その100%がMetaの持続可能性プログラムによって相殺されました。
学習データ
ここで報告されているすべての実験と公開されたモデルは、Llama 2と同じデータを異なる重みで使用して学習および微調整されています(詳細は研究論文のセクション2と表1を参照)。
評価結果
主要モデルの評価と詳細なアブレーションは研究論文のセクション3、安全性評価はセクション4を参照してください。
倫理的な考慮事項と制限事項
Code Llamaとそのバリエーションは、使用に伴うリスクを抱えた新しい技術です。これまでに行われたテストは英語で行われており、すべてのシナリオを網羅していない、または網羅することができない。これらの理由から、すべてのLLMと同様に、Code Llamaの潜在的な出力は事前に予測することができず、モデルは場合によってはユーザーのプロンプトに対して不正確または不快な応答を生成する可能性があります。したがって、Code Llamaのアプリケーションをデプロイする前に、開発者はモデルの特定のアプリケーションに合わせた安全性テストとチューニングを行う必要があります。
https://ai.meta.com/llama/responsible-use-guideにある責任ある使用ガイドを参照してください。
📄 ライセンス
カスタム商用ライセンスはhttps://ai.meta.com/resources/models-and-libraries/llama-downloads/で入手できます。