OpenAI Playground を試してみた

2023.03.17

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

アノテーションの藤本です。

世間の OpenAI/ChatGPT の流れに乗るぞ!といざ OpenAI にログインしたものの、さて何からやろう。と立ち止まってしまう。そんな方は多いと思います。私もその一人でした。
そんな方向けに、まずは OpenAI API でどんなことが出来るか試せる Playground というツールが用意されていますので、それを紹介したいと思います。

今回紹介する事

  • OpenAI Playground とは
  • OpenAI Playground の使い方

OpenAI Playground とは

OpenAI API には様々なモデルが用意されていますが、Playground は実装前にそれぞれのモデルの機能を検証できるツールとなります。
2023/3/17 現在、下記のモデルの検証ができる事を確認しています。

  • GPT-3
    • text-davinci-003
    • text-curie-001
    • text-babbage-001
    • text-ada-001
    • text-davinci-002
    • text-davinci-001
    • davinci-instruct-beta
    • davinci
    • curie-instruct-beta
    • curie
    • babbage
    • ada
  • CODEX
    • code-davinci-002
    • code-cushman-001

GPT-3 , CODEX についてモデルの説明ページから引用します

GPT-3

A set of models that can understand and generate natural language

CODEX

A set of models that can understand and generate code, including translating natural language to code

簡単に言うと、
GPT-3 は自然言語、つまり日常会話で使う言語を理解して回答を生成をすることが得意なモデル
CODEX は自然言語からコードを生成することが得意なモデル
となります。

各モデルについての詳細な説明はモデルの説明ページを参照してください。

自然言語を処理できるという事で、Chat GPT と似たような使い方も出来ますが、
Chat GPT はより自然な対話が出来るように調整されているツールで、Playground とは利用用途が異なります。

自然なAIとの会話をしたいなら Chat GPT , OpenAI API の様々なモデルを検証したいなら Playground を利用すると良いでしょう。

OpenAI Playground の使い方

お待たせしました。それでは早速使ってみましょう。

前提となる OpenAI Platform のサインアップについてはこちらの記事を参考にしてみてください。

1.OpenAI Platformにログインします

2.Playground をクリックします

3.Playground が表示されます

この画面になればもう利用可能です。

画面中心にあるテキストの入力枠に文章を入力し、【Submit】をクリックすると AI が生成した文章が返ってきます。
日本語で入力すると、きちんと日本語で返ってきます。

この画面ですと

こんにちは。今日は良い日になりそうですね。

がこちらが入力した文章で

はい、良い日になりそうですね。天気も良くて、気持ちの良い日になりそうです。

が AI からの回答になります。

これだけだと ChatGPT と同じように見えますが、Playground では画面右にある各項目でパラメータ設定が出来ます。

Playground のパラメータについて

  • Mode

用途に合わせてインターフェースを変更できます。
チャット形式等、数種類のインターフェースが用意されています。

  • Model

OpenAI API のモデルを変更できます。

  • Temperature

ランダム性を制御します。
0に設定すると、同じ質問には同じ回答をするようになります。

  • Maximum length

生成するトークンの最大数を設定します。
この値が小さいほど短い文章が生成されます。

  • Stop sequences

文の終わりなど、目的のポイントでモデルを停止させるために使用する停止シーケンスを設定します。
詳しくはこちら

  • Top P

ここが良く分からなかったので調べたところ、OpenAI API Community Forum でこんな回答を見つけました。

top_p computes the cumulative probability distribution, and cut off as soon as that distribution exceeds the value of top_p. For example, a top_p of 0.3 means that only the tokens comprising the top 30% probability mass are considered.

0.3 という値を設定すると、予測される単語の中の上位30%から選択されるようになる。
つまり、小さい値にするほどより確立の高いランダム性の低い単語が返ってくるようです。

  • Frequency penalty

同じ単語を繰り返し使うかどうかの設定です。
生成したテキストに対してのペナルティを設定します。
高い値を設定すると同じ単語は繰り返し使わなくなり、低い値を使うと同じ単語を繰り返し使うようになるようです。

  • Presence penalty

同じ単語を繰り返し使うかどうかの設定です。
生成したトークンに対してのペナルティを設定します。
高い値を設定すると同じ単語は繰り返し使わなくなり、低い値を使うと同じ単語を繰り返し使うようになるようです。

  • Best of

サーバー側で設定した値分の結果を生成します。結果としては、その中から最良の回答が返されます。

  • Inject start text

生成される文章の冒頭につける文言を設定します。

  • Inject restart text

生成される文章の冒頭につける文言を設定します。

  • Show probabilities

トークンが生成される可能性の高い箇所が色付きで表示されるようになります。

Examples

サンプルを Playgroung で試してみる事も出来ます。

1.OpenAI Platform 内で Examples を選択すると、サンプルアプリケーションの一覧が表示されます。

2.利用したいサンプルアプリケーションを選択し、【Open in Playground】をクリックします。

3.サンプルアプリケーションの内容で設定された状態で Playground が開かれます。

最後に

少し触ってみただけで AI の凄さを実感しました。AI 凄いです。
この感動は文章だけでは伝えられないので皆さんも是非パラメータを弄りながら実際に触ってみてください。

参考資料

OpenAI Platformことはじめ 〜Organizationメンバーに招待されたら

Models - OpenAI API

アノテーション株式会社について

アノテーション株式会社は、クラスメソッド社のグループ企業として「オペレーション・エクセレンス」を担える企業を目指してチャレンジを続けています。「らしく働く、らしく生きる」のスローガンを掲げ、様々な背景をもつ多様なメンバーが自由度の高い働き方を通してお客様へサービスを提供し続けてきました。現在当社では一緒に会社を盛り上げていただけるメンバーを募集中です。少しでもご興味あれば、アノテーション株式会社WEBサイトをご覧ください。