watsonx.aiの IBM GraniteCode基礎モデルを推論して、コーディング・タスクの達成を支援する実験。
デコーダのみのコードモデルGraniteシリーズは、バグ修正、コードの説明、コードの文書化など、コード生成タスクのために命令チューニングされたエンタープライズグレードの基礎モデルである。
このモデルは、AI倫理の原則に従い、IBMのコーポレート・リーガル・チームが信頼できる企業利用のために指導したプロセスで収集された、ライセンスが許可されたデータに基づいて学習される。
watsonx.aiでは、以下のインストラクション・チューニングを施したGraniteの基礎モデルを提供している。 モデル名をクリックするとモデルカードが開きます。
- granite-3b-code-instruct・モデル・カード
- granite-8b-code-instructモデルカード
- granite-20b-code-instructモデルカード
- granite-34b-code-instructモデルカード
Graniteの推論
Graniteのファンデーション・モデルを使用する際に最良の結果を得るには、まず以下の推奨事項に従い、次に実験を行って望む結果を得る。
次の表は、GraniteCodefoundation modelモデルにコーディングタスクを促すための推奨モデルパラメータの一覧です。
パラメーター | 推奨値または範囲 | 説明 |
---|---|---|
デコード | 欲張り | 貪欲なデコーディングは、最も可能性の高い選択肢のみからトークンを選択する。これは、モデルが指示に従い、あまり創造的でないことを望む場合に最適である。 |
反復ペナルティ | 1.05 | 単語やフレーズを繰り返すことで、チャットボットがロボットのように聞こえるのを防ぐために、ペナルティをこの低い値に設定します。 |
停止基準 | <<エンドテキスト | GraniteCodefoundation modelモデルの便利な機能は、各レスポンスの最後に<|endoftext|>という特別なトークンが含まれていることです。 生成モデルの中には、許容される最大数よりも少ないトークンで入力に対する応答を返すものがある場合、入力からパターンを繰り返すことができる。 このモデルでは、プロンプトに信頼性の高いストップシーケンスを組み込むことで、このような繰り返しを防いでいる。 |
最大トークン数 | 900 | コードモデルの最大コンテキストウィンドウ長は8,192である。 トークンの詳細については、トークンとトークン化を参照してください。 |
モデルパラメータの詳細については、プロンプトのモデルパラメータを参照のこと。
プロンプト・ラボからモデルをプロンプトする
Graniteの foundation modelをプロンプトするには、以下のステップを完了する:
フリーフォーム・モードのプロンプト・ラボから、利用可能なGraniteの基礎モデルの一つを選択する。
モデルパラメーターパネルから、表1の推奨モデルパラメーター値を適用する。
プロンプトを追加し、[生成]をクリックします。
Try it outセクションにあるプロンプトサンプルを使用することができます。
プロンプト・ラボの使い方については、プロンプト・ラボをご覧ください。
Graniteを促すためのヒント
応答が中断される場合は、最大出力トークンの設定を増やして、モデルがコード応答を切断して不完全なコードにならないようにしてください。
余分な空白を追加しないでください。 プロンプトの最後に改行を1つだけ入れる。
オプションのシステム・プロンプト
Graniteに提出するプロンプトは、システム・プロンプトを必要としません。 しかし、モデルがリクエストを理解しやすくするために、次のテンプレートのように、 'Question
と'Answer
にラベルを付けます:
Question:
{PROMPT}
Answer:
モデルからの応答が無効または予期しない場合は、システムプロンプトを追加してみてください。 モデルがインストラクションチューニングされたときと同じシステムプロンプトを使用する:
あなたは、IBMが開発したGraniteコード言語モデルを利用する、インテリジェントなAIプログラミング・アシスタントです。 あなたの主な仕事は、コード生成、コード説明、コード修正、ユニットテスト生成、ドキュメント生成、アプリケーションの近代化、脆弱性検出、関数呼び出し、コード翻訳、その他あらゆる種類のソフトウェアエンジニアリングタスクを含むプログラミングタスクでユーザーを支援することです。
システム・プロンプトを含む以下のテンプレートをコピー・アンド・ペーストすることができる:
System:
"You are an intelligent AI programming assistant, utilizing a Granite code language model developed by IBM. Your primary function is to assist users in programming tasks, including code generation, code explanation, code fixing, generating unit tests, generating documentation, application modernization, vulnerability detection, function calling, code translation, and all sorts of other software engineering tasks."
Question:
{PROMPT}
Answer:
You are an intelligent AI programming assistant, utilizing a Granite code language model developed by IBM. Your primary function is to assist users in programming tasks, including code generation, code explanation, code fixing, generating unit tests, generating documentation, application modernization, vulnerability detection, function calling, code translation, and all sorts of other software engineering tasks.
試してみる
プロンプトのサンプルをお試しください:
対応プログラム言語
Graniteのコード・ファンデーション・モデルは、以下のプログラミング言語をサポートしている:
- ABAP
- Ada
- Agda
- Alloy
- ANTLR
- AppleScript
- Arduino
- ASP
- Assembly
- Augeas
- Awk
- Batchfile
- Bison
- Bluespec
- C
- C-sharp
- C++
- Clojure
- CMake
- COBOL
- CoffeeScript
- Common_Lisp
- CSS
- Cucumber
- Cuda
- Cython
- Dart
- Dockerfile
- Eagle
- Elixir
- Elm
- Emacs_Lisp
- Erlang
- F-sharp
- FORTRAN
- GLSL
- GO
- Gradle
- GraphQL
- Groovy
- Haskell
- Haxe
- HCL
- HTML
- Idris
- Isabelle
- Java
- Java_Server_Pages
- JavaScript
- JSON
- JSON5
- JSONiq
- JSONLD
- JSX
- Julia
- Jupyter
- Kotlin
- Lean
- Literate_Agda
- Literate_CoffeeScript
- Literate_Haskell
- Lua
- Makefile
- Maple
- Markdown
- Mathematica
- Objective-C++
- OCaml
- OpenCL
- Pascal
- Perl
- PHP
- PowerShell
- Prolog
- Protocol_Buffer
- Python
- Python_traceback
- R
- Racket
- RDoc
- Restructuredtext
- RHTML
- RMarkdown
- Ruby
- Rust
- SAS
- Scala
- Scheme
- Shell
- Smalltalk
- Solidity
- SPARQL
- SQL
- Stan
- Standard_ML
- Stata
- Swift
- SystemVerilog
- Tcl
- Tcsh
- Tex
- Thrift
- Twig
- TypeScript
- Verilog
- VHDL
- Visual_Basic
- Vue
- Web_Ontology_Language
- WebAssembly
- XML
- XSLT
- Yacc
- YAML
- Zig
親トピック IBMファンデーション・モデル