QEUR23_PHI2SFT21: creative分野のReasoningを生成する
~ Reasoningの改善はまだまだ続く・・・ ~
QEU:FOUNDER(設定年齢65歳) : “前回で、Unslothでllama3-8b(L3)が使えるようになりました。これは重要なステップでした。”
D先生(設定年齢65歳) : “さて、お次のステップは?”
QEU:FOUNDER(設定年齢65歳) : “今回のLLMの場合、汎用技術構造の縦軸はPrompt En-gineeringです。すでに横軸はUnslothの導入で基本システムができています。”
D先生(設定年齢65歳) : “あれ?RAG(Retrieval-Augmented Generation)は、縦軸それとも横軸・・・?”
QEU:FOUNDER(設定年齢65歳) : “率直、最新のRAGを良く知らないので何とも言えません。ただし、その昔、小生がLangChainを使ったときには、RAGとは「Prompt-Engineering」の一種と感じたけどね。さて、本プロジェクトの現在までの見解だが、Prompt-Engineeringにおいて、最も有用かつ重要な考え方は「Reasoning」であると思っています。そこで、今回は、creative系の学習データでReasoningを作りたいと思います。”
D先生(設定年齢65歳) : “似たようなことはopen_qa系でやったでしょ?それに、そもそも「creative系」という意味から説明しなければいけませんね。”
Instruction = Produce a story about a bear.
Output = Once upon a time, there was a bear who lived in the deep woods. The bear was a very curi-ous creature, and enjoyed exploring the world around him. One day, the bear stumbled upon a small pond, and while looking in the water, he saw a reflection of himself. Startled, the bear ran away, but the next day he came back. He slowly began to get used to seeing his reflection, and eventually stopped running away. In time, the bear and his reflection made a pact, and the bear learned many things from the reflection. The bear and the reflection remained good friends until the bear died many years later.
Reasoning = Creator should create texts based on user requests and with free ideas. The purpose of your writing is to convince reader. If your output sentences are three or more, please make the con-tent natural.
クリエイターはユーザーのリクエストをもとに、自由な発想で文章を作成してください。あなたの文章の目的は、読者を説得することです。出力する文章が 3 つ以上の場合は、自然な内容にしてください。
QEU:FOUNDER(設定年齢65歳) : “Creative系プロンプトって、小生の造語です。「USER:くまさんの物語を作って~。」という指示に対して、「AI:は~い。適当に作ったよ。ホラ♪」というような感じのタスクのことです。これらは、InstructionとOutputの間の一意性が極めて少ないケースです。このような場合には、ふつうReasoningには「適当に作ってね♡」としかかけないんです。”
D先生: “そうか。たしかにReasoningには細かなことは書けないんですね。しようがない。SFT(教師ありファインチューニング)学習を使っていますから・・・。”
QEU:FOUNDER : “もしReasoningに変に細かいことを書くと、入力と出力の間に矛盾が起こってしまいます。もし矛盾が発生すると、学習損失が大きくなります。でも、Reasoningがその程度じゃ、面白いないよね・・・。それでは、前回紹介したGroqでも使って、Prompt Engineeringをさらに工夫したい。”
D先生: “本当にGroqの応答速度は速いですよね。”
QEU:FOUNDER : “小生が使う目的は別です。最近の「B-i-ng」なんかは、AIの応答がマーケティングの都合でひずめられていて、ほとんど使う気が起きないんです。その点では、Groqはオープンソースのモデルを、そのまま使っていますから応答が「信用できる」んです。それでは、プロンプトをどうやってつくるのか?あくまで「例えば」ですが、こうやって(↓)作ります。ドン。”
##############################
# Creative系タスクのためのReasoning
##############################
# 必要なライブラリのインポート
import pandas as pd
import json
# Excelファイルからデータフレームを作成
df = pd.read_excel('alpaca_multi_language_train0429_creative.xlsx')
df
# -----
# DF内容を出力する
arr_seq = df.loc[:,"seq"].values
arr_input = df.loc[:,"input"].values
arr_instruction = df.loc[:,"instruction"].values
arr_output = df.loc[:,"output"].values
print(arr_instruction[0:10])
# ----
str_template = """You are a great logician who teaches user how to think 'reasoning' to provide bet-ter answers to the 'question' that user provide. In this task, user's 'question' and 'answer' are pre-given. Please suggest what kind of 'reasoning' would be best to obtain the given 'answer' for this 'question'. Please ensure your 'reasoning' within 5 lines and within 120 words. Each sentence should be in the form "Creator should..." or "You should...".
"""
#あなたは、ユーザーが提供されたQUESTIONに対してより適切なANSWERを提供するための考え方(REASONING)をユーザーに教える、優れた論理学者です。このタスクでは、ユーザーのQUESTIONとANSWERがあらかじめ与えられています。このQUESTIONに対して与えられたANSWERを得るのに、どのようなREASONINGが良いのかを提案してください。REASONINGは5行以内かつ120語以内にしてください。各文は、「Creator should...」または「You should...」の形にしてください。
# ---
i = 0
str_question = f"""
{str_template}\n
'''
question : {arr_instruction[i]}\n
```\n
{arr_input[i]}\n
```\n
answer : {arr_output[i]}
reasoning :
'''
"""
print(f"--- i:{i}, <question> ---")
print(str_question)
QEU:FOUNDER : “こうやれば、指定されたレコード番号のプロンプトが出力されます。そして、Reasoningの回答をまとめてみました。”
D先生: “ちょっと、一例を取り上げて「掘り下げて」みたいですね。”
Instruction = Compose a tweet that encourages social distacity.
Output = Stay safe and stay home. Keep up social distancing! #StaySafe #KeepYourDistance #So-cialDistancing
Reasoning(L3) = Creator should identify the purpose of the tweet, which is to encourage social dis-tancing.
Creator should consider the tone of the tweet, making it concise and informative.
Creator should use short and catchy phrases to grab attention.
Creator should include relevant hashtags to increase the tweet's visibility.
Creator should keep the tone of the tweet authoritative yet friendly, encouraging people to take ac-tion.
クリエイターはツイートの目的が社会的距離を保つことを奨励するものであることを特定する必要があります。
クリエイターはツイートのトーンを考慮して、簡潔かつ有益なものにする必要があります。
クリエイターは、注目を集める短くてキャッチーなフレーズを使用する必要があります。
クリエイターはツイートの可視性を高めるために、関連するハッシュタグを含める必要があります。
クリエイターは、ツイートのトーンを権威的でありながらもフレンドリーに保ち、人々に行動を起こすよう促す必要があります。
QEU:FOUNDER : “なんというか、Reasoningのやり方が「STEP-BY-STEP」でしょ?”
D先生: “このモデルはL3でしょ?いやあ、すごいモデルだなあ・・・。こんなに適切なReasoningを生成することができるんですね。”
QEU:FOUNDER : “小生がReasoningを評価している理由の一つは、へんてつもないLLMモデルに外部から手軽に「頭脳をインポートできる」ことにあります。もし、今、手元にあるUnslothモデルの実力は少し足らなくても、外部の強力なLLMを使ってReasoningを生成し、そのインポートで補うことができるんですよね。”
D先生 : “さらに、同じデータセットを使ったとしても、Reasoningの中に自分の考え方を注入することによって、カスタマイズ性が一気に向上します。データセットそのものをゼロから考えるのは、すごい手間がかかりますからね。”
QEU:FOUNDER : “もうそろそろ、本格的に盆栽(BONSAI)をやることになるかね。AIを使っている自分が、「あるテーマ」を持ち、AIを使いこむ(☆彡)ことによりユーザーの学習を加速させます。いよいよ来たぞ!是非、カンパ(↓)をお願いします。”
>寄付のお願い(click here for buy me a cup of coffee)<
D先生: “皆さま、いっぱいの温かい「Buy me a cup of coffee」をいただけませんでしょうか。”
~ まとめ ~
・・・ 前回のつづきです ・・・
QEU:FOUNDER : “いまのところ、我々は、単純な文章出力のためにプロンプト・エンジニアリングを使っています。本当は、もっと違う使い方ができるんじゃないかと常に考えています。”
C部長 : “どのみち、LLMモデルを使いこなさないといけないですから、ウォームアップ練習としてfinetuneとRAGを使ったアプリケーション開発をするのは無駄ではないです。”
(モノの価値とは)
- (生活が、仕事が)便利になる
- 自分を変えることができる
- モノがあると快適、楽しい
- パーソナリゼーション
QEU:FOUNDER : “少なくとも、このモノ(プロジェクト)は「めちゃくちゃ面白い」よ。いままでにないことができるんじゃないかな。”
C部長 : “FOUNDERは「モノ(プロジェクト)はめちゃくちゃ面白い」っていいますが、そもそも「プロジェクトはモノ」なんですか?”
QEU:FOUNDER : “そうだよ。プロジェクトってモノでしょ?さらにいうと会社も「楽しい=ビジネス」というモノです。そもそも(売買)取引可能なモノね・・・。A国は、1980年代から、さらなる経済発展のための手段として「ビジネスのモノ化」を進めてきました。それが、オープンソース化に適応されることで一気に経済効果に反映されてきたんですよ。”
C部長 : “たしかに、この動画(↑)も、じつは自分の会社の宣伝だったんですね。”
QEU:FOUNDER : “つまり、大学の研究課程を卒業した優秀な学生が、さらに自分の研究を深めたいと思うと、このようにして「モノ(会社)を作る」しかないんです。もちろん、学生が少ない資金を使って、そんな「大したモノ、サービス、プロダクト」はできません。自分(経営者)のゴール(研究テーマ)が達成できれば、モノを他の会社に売ればいいんです。大儲けができますよ。”
C部長 : “なるほど。そういう売買前提では、「会社=モノ」ですね。でも、そういう社会的な仕組みと文化がないと、高度な基礎研究を実用化することはできないでしょうね。”
QEU:FOUNDER : “J国って、A国の強さの分析を間違えたんだよね。こんなヘンテコなA国礼賛の解釈(↑)がまかり通ったんだから・・・。もちろん、「会社のモノ化」って良いことばかりではないんです。特に、そんな会社の中で働いている人にとってはね・・・。”
- 古いおっさん(@QCサークル講話);「従業員の皆さんにはテレビを見てください。皆が同じように考えてください。」
- 古いオッサン(@車中、N社検査不正について): 「“検査不正”っていうのはなァ、(組織外に不正を)漏らしたヤツが悪いんだよ・・・」
- 古いオッサン(海外工場のあいさつにて):「私の使命はこの会社で終身雇用制を実現することにある・・・。」
C部長 : “は?終身雇用制のこと?さすがに、J国では、とっくの前に。そんな発想はないです。”
QEU:FOUNDER : “それでも、J国には「会社=家」という発想は残っているんじゃないかね?経営者や管理者を「家長」だと、勘違いする傾向もまだあるから・・・。”
QEU:FOUNDER : “ただし、小生は、経営の多様性を否定はしないよ。小生はリベラルさんたち(↑)の発想を必ずしも全面的に賛成しているわけじゃないんです。経済面は特にね・・・。”
C部長 : “へえ・・・。FOUNDERも変わったもんだ・・・。”
QEU:FOUNDER : “あのときは、J国って、もうすこしマシな状態だと思っていたのでアレでもうまく行くと思っていました。実は、あのときには、(J国のシステムは)すでに大炎上(BURN)の状態だったんですね。小生の浅い見識に、深く反省をしております。”
C部長 : “すいません。この「BURN」は違います。”
コメント
コメントを投稿