Code Llama

Meta、コーディングのための新AIツール「Code Llama」を発表

この記事では、Metaの最新の革新であるCode Llamaを紹介します。この先進的なツールは、Llama 2大言語モデルの上に構築され、世界中の開発者のコーディング体験を再定義することを約束しています。

Introducing Code Llama, an AI Tool for Coding(Meta)

記事のポイント

  1. Code Llamaの基本的な特徴とその目的
  2. ツールの異なるバージョンとその特定の用途
  3. 開発者のワークフローに対するCode Llamaの潜在的な影響

Metaは、コーディングのためのAIベースのツールとしてCode Llamaを発表しました。この大言語モデルは、テキストプロンプトを使用してコードを生成する能力を持っています。Code Llamaは、Llama 2のコード専用バージョンとして特別に設計されました。これは、同じデータセットからのデータを長期間サンプリングすることで、コード固有のデータセットでさらにトレーニングされて構築されました。Code Llamaは、コードと自然言語の両方のプロンプトから、コードと自然言語に関する情報を生成することができます。このツールは、コードの補完やデバッグにも使用できます。サポートされている言語には、Python、C++、Java、PHP、TypeScript、JavaScript、C#、およびBashが含まれます。開発者は、Meta AIのウェブページからCode Llamaへのアクセスを求めることができます。研究や商業利用のための無料のCode Llamaは、それぞれ7B、13B、34Bのパラメータで3つのサイズで提供されています。各モデルは、コードやコード関連データの500Bトークンでトレーニングされています。7Bと13Bの基本モデルと指示モデルは、既存のコードにコードを挿入するための中間埋め込み(FIM)機能でトレーニングされています。これにより、コード補完のようなタスクをすぐにサポートできます。3つのモデルは、異なる提供と遅延要件に対応しており、例えば7Bモデルは単一のGPUで提供され、34Bモデルは最高の結果を返し、より良いコーディングサポートを提供します。Metaは、ツールの2つの追加のバージョンを微調整しました。Code Llama – Pythonは、Pythonコードの100Bトークンでさらに微調整され、Code Llama – Instructは、自然言語の指示を理解するために微調整されました。

Meta発表和訳(Introducing Code Llama, an AI Tool for Coding

コーディングのためのAIツール「Code Llama」の紹介

要点
* Code Llamaは、Llama 2の上に構築されたAIモデルで、コードの生成と議論のために微調整されています。
* 研究および商用利用は無料です。

今日、私たちはコードを生成し、議論するためにテキストプロンプトを使用することができる大規模言語モデル(LLM)、Code Llamaをリリースします。Code Llamaは、コーディングタスクに関する一般公開されているLLMとしては最先端のものです。Code Llamaは、開発者のワークフローをより迅速かつ効率的にし、コーディングを学ぶ人々の参入障壁を下げる可能性を秘めています。Code Llamaは、プログラマーがより堅牢で文書化されたソフトウェアを書くための生産性向上や教育ツールとして使用できる可能性を秘めています。

私たちは、革新的で安全かつ責任ある新しいAIツールの開発には、AIに対するオープンなアプローチが最適であると考えています。そこで、研究および商用利用のために、Llama 2と同じコミュニティ・ライセンスの下でCode Llamaをリリースします。

Code LlamaはLlama 2のコードに特化したバージョンで、Llama 2をコードに特化したデータセットでさらに訓練し、同じデータセットからより多くのデータをより長くサンプリングすることによって作成されました。基本的に、Code Llamaはコーディング機能が強化されています。コードと自然言語の両方のプロンプト(例えば、「フィボナッチ数列を出力する関数を書いてください」)から、コードとコードに関する自然言語を生成することができます。また、コード補完やデバッグにも使用できます。Python、C++、Java、PHP、Typescript (Javascript)、C#、Bashなど、現在使用されている最も一般的なプログラミング言語の多くをサポートしています。

Code Llamaは、それぞれ7B、13B、34Bのパラメータを持つ3つのサイズをリリースしています。これらのモデルはそれぞれ500Bトークンのコードとコード関連データで学習されます。また、7Bと13Bのベースモデルとインストラクターモデルは、既存のコードにコードを挿入できるFIM(fill-in-the-middle)機能でトレーニングされています。

3つのモデルは、それぞれ異なるサービング要件とレイテンシ要件に対応しています。例えば、7Bモデルは1つのGPUで処理できます。34Bモデルは最高の結果を返し、より優れたコーディング支援を可能にしますが、より小さな7Bおよび13Bモデルは高速で、リアルタイムのコード補完のような低レイテンシを必要とするタスクに適しています。

さらに、Code Llamaの2つのバリエーション、Code Llama – PythonとCode Llama – Instructを微調整しました。

Code Llama – Pythonは、Code Llamaの言語に特化したバリエーションで、100BトークンのPythonコードでさらにファインチューニングされています。Pythonはコード生成のための最もベンチマークされた言語であり、PythonとPyTorchはAIコミュニティで重要な役割を担っています。

Code Llama – InstructはCode Llamaの命令チューニングとアライメントを行ったものです。インストラクションのチューニングはトレーニングプロセスを継続しますが、目的は異なります。モデルには、自然言語による命令の入力と期待される出力が与えられます。これにより、人々がプロンプトから何を期待しているかを理解することができるようになります。Code Llama – Instructは、自然言語で親切で安全な答えを生成するように微調整されているので、コード生成にCode Llamaを使用する場合は、Code Llama – Instructの亜種を使用することをお勧めします。

プログラマはすでにLLMを使って様々な作業を支援しています。目標は、開発者のワークフローをより効率的にすることで、彼らが反復的な作業ではなく、最も人間中心の仕事の側面に集中できるようにすることです。私たちは、AIモデル、そして特にコーディングのためのLLMは、技術革新と安全性の両面において、オープンなアプローチから最も恩恵を受けると考えています。公開されたコード固有のモデルは、人々の生活を向上させる新技術の開発を促進することができます。Code Llamaのようなコードモデルを公開することで、コミュニティ全体がその能力を評価し、問題を特定し、脆弱性を修正することができます。

Code Llamaは、研究、産業、オープンソースプロジェクト、NGO、企業など、あらゆる分野のソフトウェアエンジニアをサポートするように設計されています。しかし、サポートすべきユースケースはまだまだたくさんあります。私たちは、Code LlamaがLlama 2を活用して、研究や商用製品向けの新しい革新的なツールを生み出すきっかけになることを願っています。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です