FacebookやInstagramを運営するMetaが、テキスト入力を元にプログラムのコードを生成するAI「Code Llama」をリリースしたと発表しました。モデルはLlama 2と同じ「Llama 2 Community License」で公開されており、月間アクティブユーザー数が7億人以下の場合は無償で商用利用することが可能です。

Introducing Code Llama, a state-of-the-art large language model for coding

https://ai.meta.com/blog/code-llama-large-language-model-coding/

Introducing Code Llama, an AI Tool for Coding | Meta

https://about.fb.com/news/2023/08/code-llama-ai-for-coding/



Code LlamaはMetaが2023年7月にリリースしたLlama 2をコード固有のデータセットでさらにトレーニングしたもの。コードの続きを生成する機能のほか、自然言語での入力を元にコードを生成したり、コードについての解説を生成したりすることが可能となっています。Python、C++、Java、PHP、Typescript&Javascript、C#、Bashに対応しており、コードの補完やデバッグへの活用が期待されています。

今回リリースされるモデルは下記の3モデル。

・Code Llama

基本となるコーディングモデルです。

・Code Llama - Python

Pythonに特化したモデルです。

・Code Llama - Instruct

自然言語の命令を理解できるようにファインチューニングを行ったモデルです。コードの生成タスクではこのInstructモデルの使用が推奨されています。

それぞれのモデルごとに70億、130億、340億パラメーター版が用意されています。Metaは各モデルを5000億トークンのデータでトレーニングしたとのこと。70億と130億パラメーターのモデルではさらに中間補完機能(FIM)用のトレーニングも行われており、既存のコードにコードを挿入するコード補完のタスクが可能です。

340億パラメーターのモデルが一番良い結果を返しますが、動作が遅いためリアルタイム補完などの速度が必要なタスクには70億や130億パラメーターのモデルが適しているとのこと。また、70億パラメーターのモデルであれば単一のGPUで動作するというメリットが存在しています。

Code Llamaは最大10万トークンまでの入力に対応しているため、大規模なコードベースをデバッグする場合でも問題ありません。場合によってはコード全体を入力する選択肢も存在しています。



その他のモデルとパフォーマンスを比較した結果は下図の通り。無償で商用利用できるモデルの中ではトップの性能を誇っています。



なお、モデルはMetaに申請する事でダウンロード可能になるとのこと。推論用のコードについてはGitHub上で公開されています。