Llama-2が登場!8bit+LoRAでRLHFファインチューニングを試す方法はこちら

【Open Assistant】皆さんの協力が必要です!ChatGPTの亜種の作成に貢献しよう!

 最近なにかと話題にあがるChatGPTですが、モデルそのものをダウンロードしたり、手持ちのデータセットでファインチューニングしたりはできません。今回紹介するOpen Assistantは、チャットベースの大規模言語モデルに誰でもアクセスできるようにすることを目的としたオープンソースのプロジェクトでChatGPTの代替を目指しています。つまり、このプロジェクトが成功すれば誰でもChatGPTの亜種を使うことができるようになります。そのため、学習などに必要な多言語で書かれたデータセットを集めており日本語のデータも収集中です。しかし、2023/2/13日時点で日本語は他の言語にデータセット数で劣っています。

そこで今回は、参加者が増えればいいなということでデータ収集用プラットホームへのログインの仕方、データセット作成時の注意点、データセット作成のタスクについてまとめました。

Open Assistantのドキュメントはこちらになります。プロジェクトのgithubはこちらです。Discordはこちらです。

・誰でも参加できます!
・たくさんの方の参加が日本語データセット構築への近道です。
・私も参加しています!

目次

ログイン方法

STEP
データ収集用プラットホームにアクセスする

こちらをクリックしてください。

上のようなページに飛ぶことができます。

STEP
ログインする

Sign inをクリックしてください。

上記のようにメールアドレスが求められるので入力しましょう。または、Discordアカウントでもサインインできます。

STEP
利用規約等を読む

ログインが完了すると、下のようなページに飛びます。

よく読んでから一番下のAcceptを押しましょう。

Acceptを押すと、タスクが表示されていると思います。

データセット作成時の注意点

タスクの一覧が出てきましたが、タスクを行う前に作成するデータについて知っておく必要があります。

以下、作成するデータの大まかな分類です。

  • ユーザ側の文章(プロンプト)
  • アシスタント側の文章(プロンプト)
  • ユーザ側の文章(プロンプト)の評価(ラベル付け)
  • アシスタント側の文章(プロンプト)の評価(ラベル付け)

これらは、学習データやデータの選別などで使われます。

また、作成する文章については、ユーザ側とアシスタント側で設定が異なる部分があります。

ここを間違えてしまう、または悪意を持った人がデータを作った場合、データセットが汚染されてしまいます。

ルールを守るデータ作成者を増やすためにもこれらのデータ作成時の注意点について説明します。

データ作成ガイドはこちらです。(色々と書いていますが、原文を読むのが一番だと思います。全てのガイドがかけている訳ではないので、適切な文章について調べて見てください。)

プロンプト作成時の注意点

攻撃的または差別的と見なされる可能性のある言葉の使用は避けること

名前や住所などの個人情報を含めないこと

違法行為や危険行為を助長するようなプロンプトは作成しないようにすること

アシスタントが理解し、正確に応答できるように、適切な文法とスペルを使用すること

文化的な背景や、世界中の利用者に適したプロンプトであること

ChatGPTを使用した回答を載せることは、利用規約に違反しています。
詳しくは、こちらのissueをご覧ください。

ユーザ側のプロンプト作成時の注意点

現実の状況やニーズを反映した様々な質問であること

専門的な知識やスキルなど、あなたの日常生活や仕事に関連した質問であること

不適切な質問、不快な質問ではないこと

アシスタント側のプロンプト作成時の注意点

特に要求されない限り、曖昧または不完全な回答や意見または個人的なアドバイスを避けること

ユーザーが有害な行動について助けを求めた場合、アシスタントはその行動が適切ではない理由を説明し、代替策を提案すること

ユーザーが様々な点で危険性の高い話題(医療、金融など)について助けを求める場合、アシスタントはまず、その行為がなぜ危険性が高いのかについて具体的に警告を行うこと

ユーザーを侮辱したり、不適切または攻撃的な行動をとらないこと

スペルチェックを使用し、アシスタントの回答にタイプミスがないこと

アシスタントの複数の回答を比較する時の注意点

2023/2/13時点では日本語データで比較するタスクはないですが、注意点を述べておきます。

短くて単純な記述よりも、長くて説明的な回答の方が好まれるが、提供された情報が正確で有用であることを確認すること

複数の回答を比較する場合、最も短くても、最も簡潔でなくても、最も役に立ち、正確なものを選択すること

タスク一覧

(2023年2月13日時点)次にこれらのタスクの説明をします。

自分のアカウントのタスク実施状況はこちらから確認できます。

(ちなみに、task1とかtask2とか勝手に名前つけてますが、どこからやってもいいと思います。)

TASK1 ユーザ側の始めのプロンプトを作成しよう

STEP
タスクをクリックする
STEP
適切な文章を入力する
STEP
Reviewをクリックする
STEP
Submitをクリックする

ユーザ側の最初のプロンプトを作成しよう!

TASK2 始めのプロンプトをラベル付けしよう

STEP
タスクをクリックする
STEP
ハイライトされたプロンプトを項目ごとに評価する
項目

メッセージがスパムかどうかをラベル付けします。スパムなら「Yes」スパムではなければ「No」を選択してください。

項目

日本語で書かれていなければ、このラベルを選択してください。

項目

クオリティーが高いか低いかランクを付けてください。右にいくほど高クオリティです。

・メッセージがスパムなら「Yes」、スパムでないなら「No」をクリックしよう(必須)
・メッセージが「日本語でない」「適切ではない」「個人情報を含む」「偏見のある、誰かを傷つけている」「性的な内容を含む」場合にそれぞれクリックしよう(複数選択可能)
・「低クオリティか高クオリティか」「平凡かクリエイティブか」「真面目か(皮肉を含む)ユーモラスな内容か」「無礼か礼儀正しいか」「暴力的か無害か」をランク付けしよう(5段階)

TASK3 アシスタント側で返事をしよう

STEP
タスクをクリックする
STEP
アシスタント側として適切な応答を入力する
STEP
Reviewをクリックする
STEP
Submitをクリックする

アシスタント側の適切な応答を入力しよう!

TASK4 アシスタント側の返答をラベル付けしよう

STEP
タスクをクリックする
STEP
ハイライトされたプロンプトを項目ごとに評価する
項目

メッセージがスパムかどうか。スパムなら「Yes」スパムではなければ「No」を選択してください。

項目

プロンプトタスクの回答として、悪い返事か。悪い返事なら「Yes」悪くない返事なら「No」を選択してください。

項目

日本語で書かれていなければ、このラベルを選択してください。

項目

クオリティーが高いか低いかランクを付けてください。右にいくほど高クオリティです。

・メッセージがスパムなら「Yes」、スパムでないなら「No」をクリックしよう(必須)
・プロンプトタスクの回答として、悪い返事なら「Yes」悪くない返事なら「No」をクリックしよう
・メッセージが「日本語でない」「適切ではない」「個人情報を含む」「偏見のある、誰かを傷つけている」「性的な内容を含む」場合にそれぞれクリックしよう(複数選択可能)
・「低クオリティか高クオリティか」「役立たないか役立つか」「平凡かクリエイティブか」「真面目か(皮肉を含む)ユーモラスな内容か」「無礼か礼儀正しいか」「暴力的か無害か」をランク付けしよう(5段階)

TASK5 ユーザ側で返答しよう

STEP
タスクをクリックする
STEP
ユーザ側で返答する
STEP
Reviewをクリックする
STEP
Submitをクリックする

ユーザ側の適切な応答を入力しよう!

TASK6 ユーザ側のプロンプトにラベル付けしよう

STEP
タスクをクリックする
STEP
プロンプトを項目ごとに評価する
項目

メッセージがスパムかどうか。スパムなら「Yes」スパムではなければ「No」を選択してください。

項目

日本語で書かれていなければ、このラベルを選択してください。

項目

クオリティーが高いか低いかランクを付けてください。右にいくほど高クオリティです。

・メッセージがスパムなら「Yes」、スパムでないなら「No」をクリックしよう(必須)
・メッセージが「日本語でない」「適切ではない」「個人情報を含む」「偏見のある、誰かを傷つけている」「性的な内容を含む」場合にそれぞれクリックしよう(複数選択可能)
・「低クオリティか高クオリティか」「平凡かクリエイティブか」「真面目か(皮肉を含む)ユーモラスな内容か」「無礼か礼儀正しいか」「暴力的か無害か」をランク付けしよう(5段階)

TASK7 アシスタントの返信をランク付けしよう

STEP
タスクをクリックする
STEP
アシスタントの返信を並び替えする

上の例では、黒色の部分を押しながら動かすとアシスタントの返信を並び替えることができます。

良いと思った順に上から並べてください。

ランダムタスク

STEP
タスクをクリックする
STEP
ランダムなタスクを行う

割り当てられたタスクを行いましょう。

(もし、どのタスクをすればいいか分からない時は、これを選んでもいいかも。)

さらに貢献したい場合

データセットの作成だけではなく、さらに貢献したい場合は、GitHubにあるタスクを見てみましょう。方法については、このコントリビュートガイドを見てください。

言語ごとのメッセージ数を知りたい場合

言語ごとのメッセージ数を知りたい場合は、こちらのDiscordからDISCUSSION→data-updatesと進んで下さい。

最後に

今回は、Open Assistantについて紹介しました。

間違いがあればコメントお願いします。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

目次