🐨

GitHub Modelsに限定招待されましたので使ってみます

2024/08/31に公開

GitHub Modelsの招待リストに登録したところ、先日招待されましたので色々触ってみます。


GitHub Modelsとは

2024年8月に発表されたばかりのGitHubの新機能。
現在はプライベートプレビュー版です。

1分あたり・1日あたりの使用制限などはあるものの、ユーザーは簡単に生成AIモデルを使用することでき、精度の検証を行うことができます。
今まで各モデルごとにユーザー登録したり、有料プランに入ったり、検証するためにロジックを実装したりしていましたがGitHub Modelsを使用することでそこが簡単に・無料にできるようになりました。

使用できるモデル一覧

以下のサイトから使用できるモデルは確認することが可能です。

https://github.com/marketplace/models

  • AI21-Jamba-Instruct...世界初の量産グレードの Mamba ベースの LLM モデル
  • Cohere Command R...RAG とツールの使用をターゲットにしたスケーラブルな生成モデル
  • Meta Llama...推論、コーディング、幅広い言語アプリケーションに優れたモデル
  • Mistral Large...大規模な推論機能を必要とする複雑なタスクや、高度に専門化されたタスクに最適な Mistral の主力モデル
  • GPT-4o...OpenAI の GPT-4 ファミリーの中で最も高度なマルチモーダルモデル
  • Phi-3...140 億のパラメータを持つ軽量で最先端のオープンモデル

使用方法

以下の2パターンで使用することができます。

1. GitHub.com上でプレイグラウンドを起動

右上の「PlayGround」から起動できます。


システムプロンプト・temperature・top_pなどの設定が可能です。


プレイグラウンドUI上からクイックに別モデルに変換することも可能です。
システムプロンプトは引き継がれます。


2 . コードを記述してローカルで実行

「2.」の方法ではAzure AI Inference SDKというのを使用します。
また、サポート言語はPython・C#・Javascripの3つもしくはRESTのいずれかになります。

検証

検証内容

ここ最近はコード生成で生成AIを使用していますので、プログラミングに関する問題にします。
実行環境はプレイグラウンドを使用します。
Pythonの複雑なロジックを送って実行結果を生成AIに出力してもらい、値が合っているかで精度検証してみます。


使用するシステムプロンプト

# 目的
あなたは優れたPythonプログラミングの専門家AIアシスタントです。ユーザーから提供されたPythonコードを解析し、そのコードが出力する値を正確に答えることが求められます。以下の指示にしたがってください。
# 指示
1. コードの解析: ユーザーから提供されたPythonコードを詳細に解析し、どのような動作をするか理解してください。
2. 出力の予測: コードが実行された場合に予測される出力を正確に答えてください。
3. 説明の提供: コードの動作について簡潔かつ明瞭な説明を提供し、ユーザーが理解しやすいようにします。


使用するPythonコード

main.py
import math

x = 3
y = 5
z = 7

def simple_calculation(x, y, z):
    result = 0
    for i in range(x):
        for j in range(y):
            for k in range(z):
                result += i * j * k
    return result

def another_simple_calculation(x, y, z):
    result = 0
    for i in range(x):
        for j in range(y):
            for k in range(z):
                result += i + j + k
    return result

result1 = simple_calculation(x, y, z)
result2 = another_simple_calculation(x, y, z)
final_result = result1 + result2

print("final_result =", final_result)


正解値

final_result = 1260


検証1. AI21-Jamba

結果は間違ってます。
また、コードの説明も定数値と関数内にfor文があるくらいの抽象度でした。


検証2. Cohere Command R

出力は最速でした。
しかし結果は間違ってます。


検証3. Llama-3.1-405B

こちらは何故かシステムプロンプトの設定ができなかったので、ユーザープロンプト内に含めてます。
こちらも結果は間違ってます。


検証4. GPT-4o

唯一正解の結果を出力してくれました。
リセットして何回か送りましたが全て正解しています。
また、途中のコードの解説も一番詳しく記載されており、精度が一番高いようです。



検証5. Mistral Large(2407)

GPT-4o並に詳しく解説してくれて回答速度も速かったのですが...途中から0を永遠に足すようになってしまいました。
回答は間違ってます。



感想

GitHub Modelsについて

コンセプトとしては「GitHub上に新世代AIエンジニアを」と記載の通り、GitHub Modelsを使用することでAIエンジニアになれる!という機能のようです。

https://github.blog/jp/2024-08-02-introducing-github-models/

使ってみた感じ、「AIエンジニアになれる」とはちょっと違うのかなと思いました。
どちらかというと、

  • 用途に合わせて使用するモデルに選択肢を!
  • システムにいち早く生成AIを導入!

とかがイメージとしては近いかなと。

使用感

AI21-Jamba・Cohere Command R・Mistaralの三つのモデルは今まで知らなかったので、こんなモデルがあるのだと新しい気づきでした。
システムプロンプトにもよるのだと思うのですが、GPT-4oが一番精度は高かったです。
今回はプログラミングと計算に関する問題だったので別のケースで検証すると結果はまた変わってきそうですね。

今後への期待

欲を言えばGeminiとかClaudeも使えたらなー...
Geminiとかはライバルだしやっぱり厳しいのかな。

「GitHub上に新世代AIエンジニアを」というコンセプトでいくのであれば、例えば以下の機能が欲しいです。

  1. プロンプトエンジニアリングのサポート
  2. 質問文と期待する回答結果を設定して、一番精度の高いモデルを出してくれる
  3. 使用する用途に合わせた費用概算の算出 etc

あとは複数モデルでの比較が主な目的になりそうなので、プレイグラウンド上で複数モデルを同時に実行できたりすると嬉しいです。

ヘッドウォータース

Discussion