米Metaは8月24日(現地時間)、コーディング向けの大規模言語モデル(LLM)「Code Llama」を発表した。研究、産業、オープンソース・プロジェクト、NGO、企業などあらゆる分野において、ソフトウェア・エンジニリングの反復的な作業を減らしてワークフローを効率化できるように設計しており、またコーディングを学ぶための教育ツールに活用されることも期待している。同社はCode Llamaを、Llama 2と同じCommunity Licenseの下でリリースする。
Code Llamaは、自然言語およびコードによるプロンプト(例:Write me a function that outputs the fibonacci sequence)からコードを生成し、自然言語による対話で利用者のコーディング作業や学習をサポートする。Python、C++、Java、PHP、Typescript、C#、Bashなど、現在使用されている一般的なプログラミング言語の多くをサポートしており、コード補完やデバッグにも使用できる。
Code Llamaは、コードに特化したデータセットでLlama 2をさらに訓練し、同じデータセットからより長く、そして多くのデータをサンプリングして作成された。モデルサイズは70億、130億、340億パラメータの3つ。それぞれ5000億トークンのコードおよびコードに関連するデータで訓練された。
3つのモデルは異なるサービング要件とレイテンシ要件に対応し、例えば70億モデルは1基のGPUによる処理が可能。340億モデルが最良のコーディング支援を提供する一方、70億および130億モデルは高速で、リアルタイムのコード補完のような低レイテンシを必要とするタスクに適している。70億と130億のベースおよびインストラクト・モデルは、既存のコードにコードを挿入できるFIM(fill-in-the-middle)機能でトレーニングされており、コード補完のようなタスクをそのままサポートできる。
また、Code Llamaを調整して「Code Llama-Python」と「Code Llama-Instruct」を作成した。Code Llama-Pythonは、1000億トークンのPythonコードでさらに調整したPython向けのバリエーションだ。Code Llama-Instructは、Code Llamaのインストラクションに調整したバリエーションで、プロンプトから人々が何を期待しているかをより理解できる。自然言語で安全かつ役立つ返答を生成するように調整されており、コード生成にCode Llamaを用いる際にはCode Llama-Instructを使用することをMetaは推奨している。