🚀 CodeT5 (大規模モデル 770M)
CodeT5は、コード理解と生成のための識別子認識型の統一事前学習エンコーダ・デコーダモデルです。このモデルは、コード関連のタスクにおいて高い性能を発揮します。
🚀 クイックスタート
このモデルはT5ForConditionalGeneration
機能を使用して簡単にロードできます。
基本的な使用法
from transformers import AutoTokenizer, T5ForConditionalGeneration
tokenizer = AutoTokenizer.from_pretrained("Salesforce/codet5-large")
model = T5ForConditionalGeneration.from_pretrained("Salesforce/codet5-large")
text = "def greet(user): print(f'hello <extra_id_0>!')"
input_ids = tokenizer(text, return_tensors="pt").input_ids
generated_ids = model.generate(input_ids, max_length=8)
print(tokenizer.decode(generated_ids[0], skip_special_tokens=True))
✨ 主な機能
- CodeT5は、コード理解と生成のための識別子認識型の統一事前学習エンコーダ・デコーダモデルです。
- このリポジトリに含まれるチェックポイントはCodeT5-large (770M) です。
📦 インストール
このモデルはtransformers
ライブラリを使用して簡単にロードできます。必要な依存関係がインストールされていることを確認してください。
📚 ドキュメント
モデルの説明
CodeT5は、論文「CodeT5: Identifier-aware Unified Pre-trained Encoder-Decoder Models for Code Understanding and Generation」によるコード用のエンコーダ・デコーダ言語モデルのファミリーです。著者はYue Wang、Weishi Wang、Shafiq Joty、およびSteven C.H. Hoiです。
このリポジトリに含まれるチェックポイントはCodeT5-large (770M) と表記され、論文「CodeRL: Mastering Code Generation through Pretrained Models and Deep Reinforcement Learning」によって導入されました。著者はHung Le、Yue Wang、Akhilesh Deepak Gotmare、Silvio Savarese、Steven C.H. Hoiです。
学習データ
CodeT5-largeは、6つのプログラミング言語(Ruby/JavaScript/Go/Python/Java/PHP)のCodeSearchNetデータで事前学習されました。詳細については、論文のセクション4.1を参照してください。
学習手順
CodeT5-largeは、マスクされたスパン予測目標を使用して150エポックで事前学習されました。詳細については、論文のセクション4.1を参照してください。
評価結果
我々は、簡略化された戦略で事前学習されたこのチェックポイントの有効性をCodeXGLUEベンチマークで検証しました。詳細については、論文の付録A.1を参照してください。
倫理的な考慮事項
このリリースは、学術論文のサポートのための研究目的のみです。当社のモデル、データセット、およびコードは、すべての下流の目的に特に設計または評価されていません。ユーザーは、このモデルを展開する前に、精度、安全性、および公平性に関連する潜在的な懸念事項を評価し、対処することを強くお勧めします。ユーザーは、AIの一般的な制限を考慮し、適用可能な法律に準拠し、特にエラーや誤用が人々の生活、権利、または安全に重大な影響を与える可能性のある高リスクシナリオの場合に、ベストプラクティスを活用することをお勧めします。ユースケースに関するさらなるガイダンスについては、当社のAUPおよびAI AUPを参照してください。
BibTeXエントリと引用情報
@inproceedings{CodeT52021,
author = {Yue Wang and Weishi Wang and Shafiq R. Joty and Steven C. H. Hoi},
title = {CodeT5: Identifier-aware Unified Pre-trained Encoder-Decoder Models for Code Understanding and Generation},
booktitle = {EMNLP},
pages = {8696--8708},
publisher = {Association for Computational Linguistics},
year = {2021}
}
@article{CodeRL2022
author = {Hung Le, Yue Wang, Akhilesh Deepak Gotmare, Silvio Savarese, Steven C.H. Hoi},
title = {CodeRL: Mastering Code Generation through Pretrained Models and Deep Reinforcement Learning},
journal = {arXiv preprint},
volume = {abs/2207.01780},
year = {2022}
}
📄 ライセンス
このプロジェクトはBSD 3条項ライセンスの下でライセンスされています。