CodeGemma モデルカード

モデルページ: CodeGemma

リソースと技術ドキュメント:

利用規約: 利用規約

作成者: Google

モデル情報

モデルの概要

説明

CodeGemma は、Gemma 上に構築された軽量のオープン コードモデルのファミリーです。 CodeGemma モデルは、Text-to-Text と Text-to-Code のデコーダのみのモデルであり、 コード補完に特化した 70 億の事前トレーニング済みバリアントとして利用可能 70 億のパラメータ、命令チューニングされたバリアントで、 コードチャットと命令追跡、20 億パラメータの事前トレーニング済みバリアント 迅速にコードを補完できます。

入力と出力

  • 入力: 事前トレーニング済みモデル バリアントの場合: コードの接頭辞と接尾辞(省略可) コードの補完や生成のシナリオ、自然言語テキスト/プロンプト向けに構築されています。 指示用にチューニングされたモデル バリアントの場合: 自然言語テキストまたはプロンプト。

  • 出力: 事前トレーニング済みモデル バリアントの場合: 中間を埋めるコード 自然言語処理の各フェーズです。指示用のチューニング済みモデル バリアントの場合: 構築できます。

引用

@article{codegemma_2024,
    title={CodeGemma: Open Code Models Based on Gemma},
    url={https://goo.gle/codegemma},
    author={ {CodeGemma Team} and Hartman, Ale Jakse and Hu, Andrea and Choquette-Choo, Christopher A. and Zhao, Heri and Fine, Jane and Hui,
    Jeffrey and Shen, Jingyue and Kelley, Joe and Howland, Joshua and Bansal, Kshitij and Vilnis, Luke and Wirth, Mateo and Nguyen, Nam, and Michel, Paul and Choy, Peter and Joshi, Pratik and Kumar, Ravin and Hashmi, Sarmad and Agrawal, Shubham and Zuo, Siqi and Warkentin, Tris and Gong, Zhitao et al.},
    year={2024}
}

モデルデータ

トレーニング データセット

Gemma をベースモデルとして使用すると、CodeGemma 2B および 7B の事前トレーニング済みバリアントが 主に英語のトークン(約 5,000 ~ 1,000 億トークン)で オープンソースの数学データセットから生成され、 説明します。

トレーニング データ処理

CodeGemma のトレーニングには、次のデータ前処理手法が適用されています。

  • FIM - 事前トレーニング済みの CodeGemma モデルは、FIM タスクに重点を置いています。 モデルは、PSM モードと SPM モードの両方で動作するようにトレーニングされています。FIM の設定: 50-50 PSM/SPM で 80% から 90% の FIM レート。
  • 依存関係グラフベースのパッキングと単体テストベースの語彙パッキングの手法: 実際の用途に合わせてモデルの調整を改善するため、Google はトレーニングを構造化 最も関連性が高いソースを同じ場所に配置するために、 自動的に作成します。具体的には、2 つのヒューリスティック アルゴリズムを使用しました。 2 つの手法があります。依存関係グラフベースのパッキングと、単体テストベースの語彙パッキングの 2 つがあります。
  • ドキュメントを接頭辞に分割する新しい手法を開発し、 より自然な語順で接尾辞を先頭にできます。 点を導き出すことができます。
  • 安全性: Gemma と同様に、次のような厳格な安全フィルタリングを導入しました。 コンテンツに基づく個人データのフィルタリング、CSAM フィルタリング、その他のフィルタリング 一貫した品質と安全性を ポリシーに準拠する必要があります。

実装情報

トレーニング中に使用されるハードウェアとフレームワーク

Gemma と同様に、 CodeGemma は最新世代の Tensor Processing Unit(TPU) ハードウェア(TPUv5e) JAXML を使用 パスウェイ

評価情報

ベンチマークの結果

評価方法

コーディングのベンチマーク結果

ベンチマーク 20 億 2B(1.1) 70 億人 イタリア(70 億) 7B-IT(1.1)
HumanEval 31.1 37.8 44.5 56.1 60.4
MBPP 43.6 49.2 56.2 54.2 55.6
HumanEval の単一行 78.4 79.3 76.1 68.3 77.4
HumanEval 複数行 51.4 51.0 58.4 20.1 2,370
BC HE C++ 24.2 19.99 32.9 42.2 46.6
BC HE C# 10.6 26.1 22.4 26.7 54.7
BC HE GO 2,050 18.0 21.7 28.6 34.2
BC HE Java(英語) 29.2 29.8 41.0 48.4 50.3
BC HE JavaScript 21.7 28.0 39.8 46.0 48.4
BC HE(Kotlin) 28.0 32.3 39.8 51.6 47.8
BC HE パイソン 21.7 36.6 42.2 48.4 54.0
BC HE Rust 26.7 24.2 3410 3600 37.3
BC MBPP C++ 47.1 38.9 53.8 56.7 63.5
BC MBPP、C# 28.7 45.3 32.5 41.2 62.0
BC MBPP Go 45.6 38.9 43.3 46.2 53.2
BC MBPP(Java) 41.8 49.7 50.3 57.3 62.9
BC MBPP JavaScript 45.3 45.0 58.2 61.4 61.4
BC MBPP Kotlin 46.8 49.7 54.7 59.9 62.6
BC MBPP Python 38.6 52.9 59.1 62.0 60.2
BC MBPP Rust 45.3 47.4 52.9 53.5 52.3

自然言語ベンチマーク(70 億のモデル)

さまざまな言語機能の指標で Gemma、CodeGemma PT、CodeGemma IT を比較した棒グラフ。3 つのモデルはいずれもほぼ同じであり、CodeGemma は高度な自然言語理解を維持しています。

倫理と安全

倫理と安全性の評価

評価のアプローチ

FireEye の評価方法には、体系的な評価と社内のレッドチーム演習があります。 関連するコンテンツ ポリシーのテスト。レッドチーム・サービスは、 それぞれに異なる目標と人間による評価指標があります。 これらのモデルは、生成 AI に関連するさまざまなカテゴリに照らして評価されました。 倫理と安全を守ることを目的としています。

  • コンテンツの安全性と表現性に関するプロンプトを人間が評価 防ぐことができます。詳しくは、 Gemma モデルカード をご覧ください。

  • 自律的なテストに重点を置いた、サイバー防御機能の具体的なテスト リスクを最小限に抑えることができます。

評価の結果

倫理と安全性の評価の結果が許容しきい値の範囲内である 会議 内部ポリシー (子どもの安全、コンテンツの安全性、代表的な危害、 大規模に害を及ぼす可能性があります。詳しくは、 Gemma モデルカード をご覧ください。

モデルの使用方法と制限事項

既知の制限事項

大規模言語モデル(LLM)には、トレーニング データと、 テクノロジーの本質的な制限詳しくは、 Gemma モデルカード をご覧ください。

倫理的な考慮事項とリスク

大規模言語モデル(LLM)の開発には、いくつかの倫理的懸念があります。 これらのプロダクトの開発では、複数の側面を慎重に検討しました。 構築できます

同じディスカッションを参照してください。 Gemma モデルカードで確認できます。

想定用途

アプリケーション

Code Gemma モデルには幅広い用途があり、IT 部門と PT モデル。以下のリストは、考えられる用途を網羅したものではありません。「 このリストの目的は、想定される脆弱性に関するコンテキスト情報を提供することです。 モデル作成者がモデル トレーニングの一環として検討していたユースケースと、 必要があります。

  • コード補完: PT モデルを使用して、IDE 拡張機能でコードを補完できます。
  • コード生成: IT モデルを使用して、IDE の有無にかかわらずコードを生成できます。 拡張機能
  • コード会話: IT モデルは、 コード
  • コード教育: IT モデルはインタラクティブなコード学習体験をサポートし、 コーディングの練習を提供したり、

利点

リリース時点で、このファミリーのモデルは高パフォーマンスのオープンな ゼロから設計されたコード重視の大規模言語モデルの実装 同等の規模のモデルと比較した責任ある AI 開発の割合。

このドキュメントで説明するコーディング ベンチマーク評価指標を使用すると、 他の同等のサイズのモデルよりも優れたパフォーマンスを発揮することがわかっています オープンモデルの選択肢です