New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
almost weekly useful materials - 12/13 - #141
Comments
ChatGPTに社内文書に基づいた回答を生成させる仕組みを構築しましたcognitive searchなどの外部サービス無しでRAGシステムを構築した事例の紹介 下図のように、検索indexを作成するバッチ処理と、作成した検索indexを用いて回答を行うコンポーネントに分けて処理を実施している。 コメント回答を行う部分は一つのマシン上で実現できるという点が嬉しいが、外部サービスを使わないことで本当にコストメリットが出るのかどうかは要検証な気がする llamaindexで作成したindexファイルがどんくらいのサイズになるのか、それを扱うためのVMにどれくらいのスペックが必要かなどが気になる 出典 |
検索性能を改善するハイブリッド検索で使えるランク融合アルゴリズム複数のindexからの検索結果を統合するアルゴリズムを2017年の論文 Risk-Reward Trade-offs in Rank Fusionをベースに紹介している記事 以下紹介されている手法 CombSUMCombination of multiple searchesで提案された、シンプルにスコアを合計して最終的なスコアとする手法 スコアの絶対値が異なるものをfusionすると、大きいものに引っ張られてしまう CombMNZそのドキュメントが検索された回数も一緒に考慮する Bordaヒットした文書の中での順位を反転した値を加算することで最終的なスコアを生成する手法 RRFヒットした文書の順位の逆数を合算することで最終的なスコアを生成する手法 その他
ranxというハイブリッド検索の性能評価用のライブラリがあるらしい コメントRRFは知っていたがその他は知らないものだった。 出典 |
大規模言語モデルに追加学習で専門知識を教える試み事前学習済みLLMに新たな知識を教えるための方法をLlama-2で検証した記録の紹介 以下重要な点のみを抜粋 概要背景検証結果-1Llama-2に架空の文章を追加学習させて内容の解答ができるか → 1件だけだとできない。元の文章を少し変えて複数件にすることで学習可能になる 検証結果-2覚えさせたい事実と無関係なテキストを入れるとどうなるか? → 無関係なものが増えるほどスコアが下がる 検証結果-3LoRAで追加学習するさいの設定はどうすればよいか?
検証結果-47B以外より大きいモデルだとどうなるのか?
その他の検証結果公開論文に対する追加学習の検討
コメントめちゃ有益な実験結果である 出典 |
ハイブリッド検索で必ずしも検索性能が上がるわけではないベクトル検索と単語検索の併用であるハイブリット検索は検索精度向上のためによく利用されるが、徒に使ってもベクトル検索よりも悪化する場合があることを示している記事 利用したデータ
全文検索のチューニングや前処理を全くやらない場合、以下のようにベクトル検索よりも性能が悪化する 以下のチューニングや前処理を施すことで、ハイブリッド検索による精度向上を達成
コメント単語ベースの検索を行う場合は前処理やチューニングが大事という教訓 出典 |
GPTsより精度の高いRAGシステムの構築PDFからのRAGシステムの精度改善をどのように行なったかの紹介をしているスライド 以下ためになったところのみ
コメントunstructuredというライブラリは知らなかったので今度使ってみたい 出典 |
LLMを用いたSNSのテーマ推薦と投稿文の自動生成特定テーマに沿った投稿文をLLMで自動生成するための取り組み紹介。 ベースの手法特定テーマを呟き続けるアカウントの投稿から特徴語を選出し、その特徴量語を用いた文章をLLMで生成させる。 ChatGPTに依頼する形式 messages = [
{"role": "system", "content": "You are a very helpful assistant."},
{"role": "user", "content": f"美容・健康に興味がある女性に対してTwitterでアプローチしたいです。"},
{"role": "assistant", "content": "わかりました。可能であれば参考になる投稿を教えて下さい。"},
{
"role": "user",
"content": f"""{過去の投稿文}""",
},
{"role": "assistant", "content": "ありがとうございます。具体的にどのキーワードでツイートがほしいですか?"},
{
"role": "user",
"content": f'''keyword = {今回生成に使用するキーワード} でお願いします。''',
},
] こうやってassistantの文章を提携で入れる方法が取れるの初めて知った。 改善点
この手法は文章全体のベクトルとキーワード候補のベクトルの類似度をもとにキーワードを選定していく手法で、これまで選出したキーワードとの類似度を鑑みて意味的に多様なキーワード抽出が可能なもの
A100 1枚で学習可能なstabilityai/japanese-stablelm-base-alpha-7bを元もに以下のようなinstruction形式で学習 {
"instruction": "美容・健康に興味がある女性に対して訴求するTwitterの投稿文をキーワードから生成してください",
"input":[EmbedRankで抽出したキーワード],
"output":[実際の投稿文]
} 加えて、「kunishou/databricks-dolly-15k-ja」のinstruction dataも用いて学習 学習時のパラメータ
結果絵文字の差はあれど、そこそこ自然な感じになっている 定量評価では元の投稿文とのコサイン類似度を利用していたが、これだと文章の自然さをよく表現できないということで、言語モデルが出力する単語の予測確率によって文章の自然さを定量化するMLM-Scoringというものも利用している コメントキーワード選出手法のEmbedRankを思い出す良いきっかけになった。 出典 |
No description provided.
The text was updated successfully, but these errors were encountered: