Metaは木曜日、開発者が自律的にプログラミングコードを生成できるように設計された、Llama 2上に構築された新しいAIモデルであるCode Llamaをリリースした。このツールは、コーディング タスクで公開されている大規模言語モデル (LLM) を対象としています。
Code Llama は Llama 2 のコードに特化したバージョンで、コード固有のデータセットで Llama 2 をさらにトレーニングし、同じデータセットからより多くのデータを長時間サンプリングすることによって作成されました。
「開発者にとってはワークフローがより高速かつ効率的になり、コードを学習している人々にとっては参入障壁が低くなる可能性があります。 Code Llama は、プログラマーがより堅牢で十分に文書化されたソフトウェアを作成するのに役立つ生産性および教育ツールとして使用できる可能性があります。」書きました木曜日のブログ投稿で。
Meta 氏によると、Code Llama はコーディング機能が強化されており、コードと自然言語プロンプトの両方からコードとコードに関する自然言語を生成できるということです。たとえば、ユーザーが「フィボナッチ数列を出力する関数を書いて」と言うと、Code Llama がそれに応じたコードを生成します。
さらに、コード補完やデバッグなどのタスクにも役立ちます。また、Python、C++、Java、PHP、Typescript (Javascript)、C#、Bash など、現在使用されているいくつかの一般的なプログラミング言語もサポートしています。
Meta は、70 億、130 億、340 億のパラメーターを備えた 3 つのサイズの Code Llama をリリースしています。これらの各モデルは、5,000 億トークンのコードおよびコード関連データを使用してトレーニングされます。
7B および 13B のベースおよび命令モデルは、既存のコードにコードを挿入できる中間補完 (FIM) 機能でもトレーニングされています。これは、コード補完などのタスクをすぐにサポートできることを意味します。
これら 3 つのモデルは、さまざまなサービス提供と遅延の要件に対応します。たとえば、より小さい 7B および 13B モデルは高速であり、リアルタイム コード補完などの低レイテンシーの場合により適しています。一方、34B モデルは全体的に最良の結果を提供し、より優れたコーディング支援を可能にします。
基本の Code Llama モデルに加えて、Meta は Code Llama の 2 つの追加バリエーション、Code Llama – Python および Code Llama – Instruct も微調整しました。
Python に特化したバージョンである Code Llama-Python は、コード生成タスク用の 100B トークンの Python コードでさらに微調整されていますが、Instruct バージョンは、自然言語で役立つ安全な回答を生成するように微調整されています。
「プログラマーはすでに LLM を使用してさまざまなタスクを支援しています。目標は、開発者のワークフローをより効率化し、反復的なタスクではなく、仕事の最も人間中心の側面に集中できるようにすることです」と同社は付け加えた。
「私たちは、AI モデル、特にコーディング用の LLM は、イノベーションと安全性の両方の点で、オープンなアプローチから最も恩恵を受けると信じています。公開されているコード固有のモデルは、人々の生活を向上させる新しいテクノロジーの開発を促進します。 Code Llama のようなコード モデルをリリースすることで、コミュニティ全体がその機能を評価し、問題を特定し、脆弱性を修正できます。」
Code Llama は、Llama 2 と同じコミュニティ ライセンスに基づいて、研究用と商業用の両方に無料で使用できます。
また、研究、産業、オープンソース プロジェクト、NGO、企業を含むあらゆる分野のソフトウェア エンジニアをサポートするように設計されています。