【AI_21日目】大規模言語モデル1冊目
こんにちは投資ロウトです。
背景
大規模言語モデルを利用したプロトタイプの作成は完了しました。
ただまだまだ改良の余地や理解しなければならないことも多いので、引き続き学習していきます。
Webアプリ
前提としてAWSのCloud9がサービスが終了したとのことで、後続を代替案でやるかどうか悩ましいところですね。
やはりダメでした。
・Streamlit・・・Pythonだけでアプリを開発できるフレームワーク
・streamlit community cloud・・・非常に簡単にアプリをデプロイすることが可能
・rye・・・Pythonのための包括的なプロジェクトおよびパッケージ管理ソリューション
Slack
・AWS Lambda・・・ユーザーのリクエスト単位で起動されるため、利用していない時間のお金がかからないとのこと。
・Serverless Framework・・・サーバーレスなアプリケーションを簡単に開発、デプロイするためのNode.js製のツール
・Momento Chache・・・アプリケーションキャッシュサービス
RAG
・RAG・・・最も簡単に独自知識や高い検索機能を組み合わせて、ユーザーの意図にあった回答を生成できるワークフロー
→何かについて聞かれると、何かに近しいものをDBから取得して、返却させる
・埋め込み表現・・・文書をコンピュータが言語処理・解析しやすいベクトル空間の数値データに変換する。
・AWS EBSボリューム・・・EC2インスタンスにアタッチして使われるAWSのストレージサービス
・AWS Lambdaパッケージの上限・・・250MB。そもそもそんな上限があるか知らなかったのですが、PDFの読み込みのためのパッケージ「unstructured, pdf2image, pdfminer」を入れると超えてしまうそうです。
※ただ他の人もなんとか突破したような記載が色々な記事で書かれていたので、問題ないかもですが、、、
・RAGの注意点として、LLMの応答は文書通りという保証はないので、回答とソース(情報源)を一緒に提供するようにするのがいいとのことでした。
※またPDFは特にテキスト化する際に、情報構造が崩れてしまうなどで、適切な回答をさせるのが難しいというお話でした。
生成AIの活用
・社内向けに生成AIのガイドラインを作成しておく必要があるとのことでした。
※生成AIからは虚偽の内容が含まれているが、当社の見解ではないなどは盛り込んでいた方がいいとのこと。
・LangSmith・・・LangChainの実行時をトレースしてくれるサービスで、中間などを可視化することができるとのことです。
・セキュリティーリスク
→プロンプトを上書きして予期せぬ挙動
→LLMが安全ではない出力をする
→学習データを汚染されてしまう
→モデルDoS攻撃
→プラグインなどの脆弱性
→機密データの漏洩
→エージェントの暴走
→デマなどを流してしまう
→モデル盗難
・LangChainがコアとexperimetalパッケージに分離したい理由
→セキュリティー脆弱性を防ぐ
→新しいアイデアはexperimetalに含むことで、追加しやすくする
→コアパッケージの軽量化
と以上で、大規模言語モデル1冊目の学習を終えたいと思います。cloud9のサービスが終了したことで、ハンズオンの一部が実施不可となりましたが、それでもプロトタイプを実際に作ってみることで、LangChainの理解はより深まりました。
ご精読ありがとうございました。焦らずコツコツ自分のペースで頑張っていきたいと思います。
Discussion