QEUR23_PHI2SFT31: よりAGIらしく改造する(Step3、質問の作成とまとめ)
~ 今回は簡単におわります。 ~
QEU:FOUNDER(設定年齢65歳) : “今回は、簡易AGIの最後のステップになります。Step3から選択された24件の質問の答えを生成し、そのまとめ(SUMMARY)を確認しましょう。プログラムは、以前のものとほとんど同じです。そして、コードの晒しは最小限に・・・。”
# -----
# [Step3,改造版]Groqを使って、簡単にQuestion to Question を試し、簡単な類似度を評価する
# -----
import os
import re
import math
# ---
import pandas as pd
import numpy as np
from langchain_core.prompts import ChatPromptTemplate
from langchain_groq import ChatGroq
# -----
# 使う前にGroqに登録し、APIコードをもらってね
os.environ["GROQ_API_KEY"] = "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"
# Llama 3 with Groq
llm = ChatGroq(temperature=0, model_name="llama3-70b-8192")
#llm = ChatGroq(temperature=0, model_name="Llama3-8b-8192")
# -----
# AGIによるChain推論を行う
# -----
# システムメッセージの一覧
# -----
sys_message_AIassistant = "You are an AI assistant who is good at providing answers in multiple languages."
#sys_message_translator = "You are translator who is fluent in multiple languages.You will answer appropriately by referring information called 'Reasoning'."
#sys_message_creator = "You are creator who create amazing content with your free ideas. You at-tract readers with your beautiful writing such as novel or advertisement. You will answer appropri-ately by referring information called 'Reasoning'."
#sys_message_logician = "You are an excellent logician and are instructing users on \"thinking pro-cedures for providing better quality reasoning to user-provided questions.\". "
# ---
# 初期設定(パイプライン)
system = sys_message_AIassistant
human = "{text}"
prompt = ChatPromptTemplate.from_messages([("system", system), ("human", human)])
chain = prompt | llm
# ----
# 今回のプロジェクトの進め方(コンセプト): 4文以上(文を細かく切ること)
str_concept = "I want to know about Russia and Ukraine. I would like to analyze the differences be-tween the Russian and Ukrainian ethnic groups from a historical perspective. I would like to discuss the war between Russia and Ukraine that began in 2022. I would like to know how Western countries and the Jewish people are involved in this war. I would like to analyze the impact of this war on world politics and the economy."
# ---
# 今回のプロジェクトのゴール: 6文以上(文を細かく切ること)
str_goal = "Russia and Ukraine share much in common in history, culture, and economy, and origi-nally there was no positive reason for war. Furthermore, the two countries have overwhelming dif-ferences in natural resources, GDP, and military power, and Ukraine has no chance of winning. The war continues because NATO and Western countries are providing support to Ukraine, but it is doubtful that this will continue. This war has had a huge negative impact on the world economy. Some Middle Eastern and BRICS countries may be experiencing increased distrust of the West as a result of this war. Ukraine should push for a ceasefire. In response to President Zelenskiy's statement that he will 'resist,' he warns that the more he resists, the more his own people will suffer. Patriotism should be a wise strategy to protect one's own people. Ukraine's future development was taken away by the war, and it is the Ukrainian people who bear the burden of sacrifice, damage, and heartache."
# -----
# Excelファイルからデータフレームを作成する
# Question to Question
df = pd.read_excel('qq_for_UR_step2_similarity.xlsx')
# Step3の質問数
num_df = len(df)
df
QEU:FOUNDER : “ちなみに、読み込んだEXCELファイル(参考として、JP版)は以下の通りです。”
D先生(設定年齢65歳) : “じゃあ・・・、あとはSUMMARYの類似度評価だけになりますね。これも、やり方は以前と同じでしょう?今回も「GOALコメントをベースとした評価」ですよね?”
QEU:FOUNDER : “そうです。あとは、SUMMARYの内容を見てみましょう。”
--- 要約 ---
--- NO:0 ---
国際社会は、ロシアに圧力をかけ、ウクライナ紛争の沈静化を図る必要性と、世界的に経済不安が高まるリスクとのバランスを取らなければならない。これは、外交努力、対象を絞った制裁、経済の多様化、人道援助、国際協力、経済支援、紛争解決メカニズム、グローバル・ガバナンス、コミュニケーション、長期戦略を通じて達成できる。欧州連合や欧州安全保障協力機構(OSCE)などの地域組織は、ロシアとウクライナの間の対話と紛争解決を促進する上で重要な役割を果たすことができる。人道援助は、紛争当事者による転用や搾取のリスクを最小限に抑えながら、ウクライナの被災者に効果的に届けることができる。これは、中立性と公平性、調整と協力、リスク評価と監視、現地のパートナーシップと関与、安全で透明性のあるサプライチェーン、現金による送金、能力開発とトレーニング、アドボカシーと外交、柔軟性と適応性を通じて達成できる。ユダヤ人コミュニティと西側諸国は、ロシアとウクライナの紛争の平和的解決に貢献できる。これは、外交努力、経済的インセンティブ、人道支援、紛争解決メカニズム、文化交流、ウクライナの主権への支持、ロシアとウクライナの対話、国際的な圧力、ユダヤ人コミュニティの関与、および長期的な関与を通じて達成できます。西側諸国とユダヤ人コミュニティを含む国際社会は、すべての関係者に利益をもたらす平和的解決を促進することができます。ロシアに課された経済制裁は、特にロシアの石油とガスの輸出に大きく依存している国々にとって、世界のエネルギー市場に大きな影響を与えます。制裁により世界のエネルギーサプライチェーンが混乱し、価格の上昇、投資の減少、貿易パターンの変化につながっています。ウクライナ、リトアニア、中央アジア諸国などの国々は、再生可能エネルギーや他の国からの輸入を含む代替エネルギー源を模索しています。結論として、ロシアとウクライナの紛争の平和的解決には、外交努力、経済的インセンティブ、人道支援、紛争解決メカニズム、文化交流、ウクライナの主権への支持、ロシアとウクライナの対話、国際的な圧力、ユダヤ人コミュニティの関与、および長期的な関与を含む多面的なアプローチが必要です。国際社会は、関係するすべての当事者に利益をもたらす平和的解決を促進するために協力しなければなりません。
--- NO:1 ---
制裁によって部分的に推進されている世界経済の脱ドル化は、国際貿易と国家間の力関係に重大な影響を及ぼします。 各国が準備通貨としての米ドルから離れていくにつれて、米国の経済的影響力は衰え、より多極化した世界につながる可能性があります。 これは、代替通貨と決済システムの台頭、国際貿易における現地通貨の使用の増加、新興市場への新しい機会につながる可能性があります。 国連や欧州連合などの国際機関は、ロシアとウクライナ間の対話を促進し、信頼を築く上で重要な役割を果たすことができます。 交渉のプラットフォームを提供し、経済的インセンティブを提供し、能力を構築し、人と人との外交を促進することができます。 そうすることで、緊張を緩和し、2国間のより安定した平和な関係を促進するのに役立ちます。 経済的インセンティブは、ロシアとウクライナ間の協力と妥協を促進するために効果的に使用できます。 これは、貿易協定、投資機会、エネルギー協力、インフラ開発、観光、文化交流プログラムを通じて達成できます。これらの戦略を組み合わせて採用することで、両国は相互に利益のある経済環境を作り出し、紛争の可能性を減らし、協力関係を促進できます。国際社会は、ロシアとの関係を維持しながらウクライナを支援するという微妙なバランスをとる必要があります。外交努力、経済的インセンティブ、人道支援、紛争解決メカニズム、能力構築を含む多面的なアプローチが必要です。このアプローチを採用することで、国際社会は地域の平和、安定、協力を促進することができます。西側諸国によるウクライナへの軍事援助と外交支援の提供は、世界の勢力均衡に重大な影響を及ぼします。それは多極的な世界秩序への移行を加速し、冷戦時代の力学を復活させ、新たな安全保障上の課題に対処する上での地域安全保障協定と経済的国家運営の重要性を浮き彫りにしました。この危機はまた、国際機関の限界を露呈させ、新たな安全保障上の課題に対処するためにこれらの機関を改革し強化する必要があることを強調しました。
--- NO:2 ---
欧州連合や欧州安全保障協力機構などの地域組織は、ロシアとウクライナの間の対話と交渉を促進する上で重要な役割を果たすことができます。彼らは、調停や促進のサービスを提供し、紛争解決に関する専門知識を共有し、経済的インセンティブを提供し、2国間の信頼と自信を構築するための外交的支援を提供することができます。紛争の結果として生じる世界的な影響力の変化は、国際関係とグローバルガバナンスにおける新興国の役割に大きな影響を与えます。多極化の台頭により、複数の権力と影響力の中心を持つ、より分散化された複雑なグローバルガバナンス構造が生まれます。中国、インド、ブラジルなどの新興国は、グローバルアジェンダの形成においてより重要な役割を果たし、共通の課題に対処するための新しい形のグローバル協力が出現します。ウクライナにおけるポーランド、リトアニア、オーストリア=ハンガリー帝国の統治の歴史的経験は、同国の現在の独立と欧州統合の追求に大きな影響を与えています。これらの帝国の遺産は、ウクライナの国家アイデンティティ、政治文化、外交政策の優先事項を形作り、主権と欧州共同体への統合への願望を推進してきました。紛争の双方における民族主義的感情は、ウクライナ東部の人道状況、特にロシア系住民とロシア語圏の人々の状況に重大な影響を及ぼしている。紛争は複雑で不安定な環境をもたらし、民族主義的なレトリックがこれらのグループに対する差別、嫌がらせ、暴力を煽っている。これらの民族主義的感情に対処することは、ロシアとウクライナの間の対話と和解を促進するために不可欠である。ユダヤ人コミュニティは、ロシアとウクライナの間の対話と和解を促進する上で重要な役割を果たす。歴史的および文化的つながりを活用し、人と人との外交を促進し、自らの闘争と回復の経験を共有することにより、ユダヤ人コミュニティは、2国間の架け橋を築き、より平和で調和のとれた関係を促進することに貢献できる。
--- NO:3 ---
ロシアのエネルギー源からの移行は、より多様で競争力のある世界のエネルギー市場につながると期待されています。各国は再生可能エネルギー源への移行を加速し、液化天然ガス(LNG)輸出を増やし、エネルギーミックスを多様化して単一源への依存を減らしている。この変化は競争の激化、価格変動、地政学的勢力図の再調整につながるだろう。しかし、温室効果ガス排出量の削減にも貢献し、より持続可能なエネルギーの未来につながるだろう。2019年のウクライナ正教会の独立は、ウクライナで進行中の紛争に大きな影響を与え、ウクライナの独自性を高めることに貢献している。それはウクライナの国民的アイデンティティを強化し、ウクライナをロシアの影響から切り離し、ロシア正教会の権威に挑戦するものである。ロシアとの緊張が高まる可能性はあるが、ウクライナ正教会の独立は、ウクライナの統合と主権国家としての承認に向けた重要な一歩である。ウクライナの主権を支持する必要性と、紛争の激化を回避し平和的解決を促進する必要性とのバランスをとるために、国際社会は外交努力に従事し、停戦と国際監視を支持しながら、経済支援、人道援助、制裁を提供すべきである。国際社会はまた、ウクライナに能力構築支援を提供し、ウクライナ、ロシア、その他の地域関係者間の地域協力と対話を促進すべきである。ウクライナ正教会の独立とロシアのエネルギー源からの移行の影響は広範囲に及び、相互に関連している。ウクライナ正教会の独立は、進行中の紛争の状況において極めて重要なウクライナの国家的アイデンティティと主権を強化する。ロシアのエネルギー源からの移行は、より多様で競争力のある世界のエネルギー市場につながり、ウクライナのエネルギー安全保障と主権に重大な影響を及ぼすであろう。結論として、ウクライナ正教会の独立とロシアのエネルギー源からの転換は、ウクライナの主権、国家アイデンティティ、エネルギー安全保障に重大な影響を及ぼす重要な展開である。国際社会は、ウクライナの主権を支持する必要性と、紛争の激化を回避し平和的解決を促進する必要性とのバランスを取らなければならない。多面的なアプローチを採用することで、国際社会は紛争の平和的解決を促進し、ウクライナの主権と独立を支援することができる。
D先生(設定年齢65歳) : “もともとは、さらに議論を深めるためのプロンプトを設定したんですよねえ・・・。たしかに、今回の出力から、内容が「我々が指定したGOALコメントの要求内容」からも外れだしています。例えば、この話題(↓)がいきなり出てきたときには驚きました。。”
制裁によって部分的に推進されている世界経済の脱ドル化は、国際貿易と国家間の力関係に重大な影響を及ぼします。 各国が準備通貨としての米ドルから離れていくにつれて、米国の経済的影響力は衰え、より多極化した世界につながる可能性があります。
QEU:FOUNDER : “確かに、議論が深くなったよね・・・。これによって、パーセンタイル分析の結果がどうなったのかを見てみましょう。”
D先生(設定年齢65歳) : “パーセンタイル分析でも、パフォーマンスが落ち始めています。こうしてみると、Step3で終わらせておいて良かったのかもしれません。”
QEU:FOUNDER : “まあ、「つづく、〇〇テスト」に使用するためのデータを収集できたので、とても満足ですよ。”
D先生: “ほう・・・。「つづく、〇〇テスト」とは?”
QEU:FOUNDER : “今回のトライアルで得たデータを活用してfinetuneをするのだが、その準備処理をします。この部分が、今回のプロジェクトの中でも最も面白くなるのかもしれません。カンパをお願いします。よろしくお願いします。”
>寄付のお願い(click here for buy me a cup of coffee)<
D先生: “なんか知りませんが、面白いことを始めるようです。”
~ まとめ ~
・・・ 前回のつづきです ・・・
QEU:FOUNDER : “つまり、「よりシャープな出力(質問)にするには工夫がいる」んです。C先生はPrompt Engineering(PE)を工夫して、より良い出力(質問)を出したいですか?“
C部長 : “は?PEを工夫するんだったら、素直に質問に工夫しますよ(笑)!”
QEU:FOUNDER : “我々は、質問のキレ向上のために、Reasoningを使ったファイン・チューニングで対応したいと思っているんです。そして、もしもBONSAI-AIの質問能力にキレがあるのならば・・・?”
C部長 : “GPT-Xにインプットすれば、スゴイ回答が期待できますね!!個人の能力と社会の質がスパイラルアップできます。”
QEU:FOUNDER : “つまり、現代のボトルネックは「Question」なんです。そのためには、CrewAIのようなソルーションも考えられます。ただし、我々は全く違うアプローチ(汎用技術構造)を取っています。それには、「近年の自然言語テクノロジーの著しい発展」が理由としてあるのです。”
QEU:FOUNDER : “我々は、今回のBONSAIプロジェクトにおいてfinetuningを多用していますが、このようなことは1年前にはとてもコスト的に難しかったのです。それが、計算技術の急激な発展によって誰でもLLMのfinetuningをできるようになりました。今回は、Unsloth(↓)様に大感謝しなければならないね。ちなみに、作者の一人はアジア系の人(↓)かな?J国の人にお目にかかったことはないねえ・・・。”
C部長 : “CrewAIのやり方は、おそらくLangChainのような「RAG技術」を多用したものでしょう?RAGを使ったほうが、finetuneよりも楽だと思うが・・・。”
QEU:FOUNDER : “RAGはprompt engineeringの応用であるという、小生の古い認識をもとに説明します。ココの前提は勘弁してね。上のコース(↑)で語りつくされているように、Finetune(FT)は、学習量、推論の安定性からみて、prompt engineeringよりも圧倒的に優れています。一方でFTの短所は、「(学習データの準備が)より面倒である」、「(学習のための)時間とエネルギーがかかる」という2点だけであると思います。・・・でもね、Cさんも「CrewAI」をやってみたんでしょ?あれ(CrewAI)って、回答を得るにすごい時間と計算エネルギーがかかるでしょ?”
C部長 : “そりゃあ・・・、計算の繰り返しがありますからね・・・。”
QEU:FOUNDER : “不特定多数の人間がそのサービスを使うのであれば、CrewAIのシステム設計でもしようがないが、もし自分だけが(自分の)ハードウェア上で専用に使うとなると、その計算時間は無駄だと思わない?せっかくだから、モデルに学習しておいてくれと・・・。”
C部長 : “自然と、そう思うでしょうね・・・。”
QEU:FOUNDER : “LLMの長所(Pro)はエレガントな文を出力すること。そして、LLMの短所(Con)は、普通のプロンプトでは一般論しかいえないこと。Pros-Consは表裏です。この弱点を補うために、CrewAIの「Researcher-Writer」モデルでは、Researcherに命令してWebから情報を絶えず抽出しています。ただし、そのResearch情報は、ひょっとしたら自分のモデルがすでに学習しているものである可能性もあるんですよ。”
C部長 : “そうなると、時間とエネルギーの無駄ですね。”
QEU:FOUNDER : “だから、我々のBONSAIプロジェクトでは、自分が本当に必要な情報にアクセスしやすいようにfinetuneを行い、さらにそれでも必要であれば外部から情報を注入します。つまり、CrewAIとは、処理のステップが全く逆になります。 “
C部長 : “そうすると、どうなりますか?”
QEU:FOUNDER : “BONSAIを使えば使うほどモデルから出力する質問にキレが出てきます。その質問にキレがあるならば、その回答は誰がやってもいい・・・。”
C部長 : “人間に答えてもらってもいいし、GPT-Xに回答してもらってもいい。その結果を、モデルに注入すれば、さらに質問がキレてくる。”
QEU:FOUNDER : “つまり、現代のボトルネックは「Question」なんです。もう一度いうけど・・・。”
コメント
コメントを投稿