Slide 1

Slide 1 text

Copyright © Algomatic Inc. LLMϓϩμΫτͷϩόετੑͱӡ༻ Algoma'c CTO ೆཬ༐ؾ

Slide 2

Slide 2 text

@ono_shunsuke

Slide 3

Slide 3 text

会社概要・事業

Slide 4

Slide 4 text

ձࣾ঺հ

Slide 5

Slide 5 text

ࣄۀ঺հ

Slide 6

Slide 6 text

LLMプロダクトのロバスト性と運用

Slide 7

Slide 7 text

LLMϓϩμΫτͷϩόετੑͷ޲্ ϩόετੑʹࠨӈ͞Εͳ͍ϓϩμΫτӡ༻ ࿩͢͜ͱ 1 2

Slide 8

Slide 8 text

> ܭࢉػՊֶʹ͓͚Δɺϩόετωε (ӳ: robustness)ɺϩόετੑɺݎ࿚ੑͱ͸ɺίϯϐϡʔλγεςϜ Ͱ࣮ߦதͷΤϥʔ[1][2]΍ɺޡͬͨೖྗʹରॲͰ͖Δೳྗͷ͜ͱɻ ݎ࿚ੑʹ͸ɺݎ࿚ͳϓϩάϥϛϯάɺ ݎ࿚ͳػցֶशɺݎ࿚ͳηΩϡϦςΟωοτϫʔΫͳͲɺܭࢉػՊֶͷଟ͘ͷ෼໺͕౰ͯ͸·Δ ϩόετੑͱ͸ フリー百科事典『ウィキペディア(Wikipedia)』ロバストネス (コンピュータ) https://ja.wikipedia.org/wiki/%E3%83%AD%E3%83%90%E3%82%B9%E3%83%88%E3%83%8D%E3%82%B9_(%E3%82%B3%E3%83%B3%E3%83%94%E3%83 %A5%E3%83%BC%E3%82%BF) 不確実な変化に対して、システムが継続的かつ安定的に処理できる状態であること

Slide 9

Slide 9 text

LLMプロダクトのロバスト性の向上

Slide 10

Slide 10 text

LLM͸େ͖͘ਐԽ͕ͨ͠ɺࣄۀαʔϏεʹٻΊΒΕΔϩόετੑʹ͸՝୊͕࢒Δɻ LLMϓϩμΫτͷϩόετੑͷ՝୊ͱରࡦ Yan, Ziyou. (Aug 2023). How to Match LLM Patterns to Problems. eugeneyan.com. https://eugeneyan.com/writing/llm-problems/ 特定タスクに対する パフォーマンス指標の⽋如 外部モデルの性能の低さ 内部モデルの性能が低さ 外部モデルの制約 UX要件を満たさない レイテンシ 信頼性が低いモデル出⼒ 悪い顧客体験の対応 顧客影響の可視化 プロンプトテンプレートを更新したり、モデルを微調整したり、RAGを改善したりといったシステムの調整を⾏う際に、改善また は後退を測定する⽅法が必要である。 最新データでモデルが訓練されていない、もしくはモデルが不⼗分、最新のコンテキストを持っていないなどによって起こる。 ChatGPTの知識カットオフ。組織内の専有データがないことなど。 オープンLLMは特定のタスクの性能が良くない傾向がある。結果、抽出や要約の精度の低下、事実ではない応答、トピッ クから逸脱した応答、単に流暢さの⽋如が⽣じる可能性がある。 技術的なもの(レート制限、レイテンシなど)、法的なもの(機密情報やユーザーのプライバシーデータの送信、著作権と 使⽤に関する制約など)、財務的なもの(API呼び出しの⾼いコスト)がある。 特定のユースケースでは、短い時間(数百ミリ秒以内)でLLMからのレスポンスが求められます。ストリーム出⼒はUXに良い ですが、必ずしも適応できるわけではない。 LLMは不正確な出⼒を⽣成する可能性があり、LLMの製品による利便性を⾼めること、エラーの発⽣に対して対応する かが求められる。 モデル出⼒が特定の形式(JSONなど)に従わない、実⾏できない場合に発⽣する構⽂エラー。モデルの出⼒が有害、事 実でない、トピックから外れている、単に⽭盾している場合などに発⽣する意味エラー。 モデルの影響を評価できない。カスタマーサポートの代わりにLLMを活⽤した場合、2週間での損失が12倍に増えたという エピソードがあった。 Evals, Collect Feedback RAG, Evals Fine-tuning, Collect Feedback Fine-tuning, Evals, Collect Feedback Guardrails(guidance syntax checks, semantic checks) Caching Defensive UX(for onboarding, for paper cuts), Collect Feedback Monitoring, Collect Feedback ՝୊ ৄࡉ ରࡦ

Slide 11

Slide 11 text

LLMϓϩμΫτΛߏங͢ΔͨΊͷύλʔϯ LLMϓϩμΫτͷߏஙύλʔϯ Yan, Ziyou. (Jul 2023). Patterns for Building LLM-based Systems & Products. eugeneyan.com. https://eugeneyan.com/writing/llm-patterns/

Slide 12

Slide 12 text

֤ύλʔϯʹର͢ΔऔΓ૊ΈίετͱϢʔβʔମݧ΁ͷΠϯύΫτ ߏஙύλʔϯͷROI Yan, Ziyou. (Jul 2023). Patterns for Building LLM-based Systems & Products. eugeneyan.com. https://eugeneyan.com/writing/llm-patterns/ Fine-tuning Defensive UX Collect feedback RAG Evals Caching Guardrails Ϣʔβʔମݧ΁ͷଈޮੑߴ͍ ௿͍ ௿͍ ίετ(࣌ؒ/ֹۚ)/ෆ࣮֬ੑߴ͍ ຊ೔࿩͢͜ͱ

Slide 13

Slide 13 text

ϓϩμΫτͷϑΣʔζʹ߹ΘͤͯɺऔΓ૊Ή΂͖ͱ͜Ζ͔ΒऔΓ૊Ή l ϓϩϯϓτͷ੍ޚ(Defensive UX, Guardrails) l ϕΫλʔDBͷ׆༻(RAG) l ϢʔβʔߦಈͷධՁ(Collect feedback) ϩόετੑ΁ͷΞϓϩʔν(Algoma'cͷऔΓ૊Έ)

Slide 14

Slide 14 text

ϓϩϯϓτ੍ޚ(Defensive UX) l νϟοτUI͸ࣗ༝౓͕ߴ͘ɺ࢖͍͜ͳ͢ʹ͸ϊ ΢ϋ΢͕ඞཁɻ l ݻ༗ͷ৘ใҎ֎͸ςϯϓϨʔτΛ༻ҙ͠ɺϓϩ ϯϓτͷग़ྗ͕҆ఆ͢ΔΑ͏ʹ͢ΔɻෆཁͳΒ ແࢹͰ͖Δ༏͍͠UIʹɻ l ςϯϓϨʔτ؅ཧ΋ՄೳͳͨΊɺࣗ෼ͷۀ຿ʹ ߹ΘͤͨϑΥʔϚοτԽ/νʔϜ಺Ͱͷڞ༗΋ Մೳɻ l ࠓճͷొஃࢿྉͷΞδΣϯμͱ಺༰΋γΰϥΫ AIͰ࡞੒ɻ ๏ਓ޲͚ChatGPTʮγΰϥΫAIʯͷUI੍ޚ ೖྗ஋ ग़ྗ஋ ݻ༗৘ใ ςϯϓϨʔτ Ξ΢τϓοτϑΥʔϚοτ

Slide 15

Slide 15 text

l ίϯςϯπͷΨόφϯεͱϢʔβʔͷ҆શੑͷ੍ޚ͸ େ͖ͳ՝୊ɻ l ݱঢ়͸ɺγεςϜϓϩϯϓτʹΑΔίϯςϯπͷద੾ ੑɺҰ؏ੑΛ୲อ͢ΔͷΈɻ l ๏త/ن੍্ͷ९कʹؔ͢Δ੍ޚ΋ɺΞϓϦέʔγϣϯ ଆͰରԠ͍ͯ͘͠૝ఆɻطଘͰ͸LLM(GPT4)Λ׆༻ͨ͠ ੍ޚ͕ϝΠϯ͕ͩɺΞϓϦέʔγϣϯ૚ͱ੍ͯ͠ޚΛ ࣋ͭ͜ͱͰɺ༷ʑͳLLMʹదԠͰ͖ΔΞʔΩςΫνϟ ΁ɻ l ͜ͷྖҬ͸ܧଓతʹ౤ࢿ͍ͯ͘͜͠ͱ͕ॏཁͰ͋Δɻ ϓϩϯϓτ੍ޚ(Guardrails) ๏ਓ޲͚ChatGPTʮγΰϥΫAIʯͷલ/ޙॲཧ γεςϜϓϩϯϓτ

Slide 16

Slide 16 text

l ࢀর͍ͨ͠৘ใΛݩʹɺQ&A΍ཁ໿͕Ͱ͖Δػೳɻ l ߏ੒ l جຊߏ੒͸ɺਤͱಉ༷ɻ l ϕΫτϧԽ͸ɺtext-embedding-ada-002Λ׆༻ (1536࣍ݩ) l ϕΫλʔDB͸pineconeΛ׆༻͠ɺϋΠϒϦοτ ݕࡧ(୯ҰͷૄີΠϯσοΫε)ʹରԠɻ l LLMʹೖྗલͷσʔλΛΞϓϦέʔγϣϯ૚Ͱ ࠷దԽ͢Δɻ(refine query) ๏ਓ޲͚ChatGPTʮγΰϥΫAIʯͷυΩϡϝϯτQ&Aػೳ(ۙ೔தʹϦϦʔε) ϕΫλʔDBͷ׆༻(RAG, Guardrails) 柿沼太一. (Aug 2023). LLMを利用したRAG(Retrieval Augmented Generation)と著作権侵害. https://storialaw.jp/blog/9885

Slide 17

Slide 17 text

l ϓϩμΫτ l જࡏత/ݦࡏతͳχʔζʹΑͬͯҟͳΔ͕ɺԾઆΛ ͨͯΔͨΊͷϑΝΫτूܭج൫͸ඞਢɻ(ݱঢ়͸ɺ ϓϩϯϓτςϯϓϨʔτͷར༻཰ͷΈΛଌఆ) l ·ͨɺσʔλΛूΊΔͨΊͷσβΠϯ͸ॏཁɻ ChatGPTͷ͍͍ͶϘλϯ͸୭΋ԡ͞ͳ͍ͷͰɺσʔ λ͕ू·Γʹ͘͘ɺڧԽֶश͕Ͱ͖ͳ͍ɻ l LLM l ඪ४ԽσʔληοτΛ༻ֶ͍ͨज़తͳࢦඪΛ׆༻ ͢Δɻ l ਓؒͷ൑அج४ʹ͍ۙ͠ࢦඪʮG-Evalʯͷಋೖ ϢʔβʔߦಈͷධՁ(Collect feedback, Evals) ๏ਓ޲͚ChatGPTʮγΰϥΫAIʯͷσʔλ෼ੳͱػೳվળ(༧ఆ) ϓϩϯϓτධՁػߏ

Slide 18

Slide 18 text

l ΦʔϓϯιʔεLLMͷ׆༻ l fine-tuning(RLHF)ʹΑΔ࠷దԽ l G-EvalʹΑΔLLMࣗମͷܧଓతධՁ l γεςϜύϑΥʔϚϯεͷ࠷దԽ l ΩϟογϡʹΑΔUXվળ/Πϯϑϥίετͷ࡟ݮͳͲ ࠓޙͷٕज़తͳऔΓ૊Έ(༧ఆ)

Slide 19

Slide 19 text

ロバスト性に左右されないプロダクト運用

Slide 20

Slide 20 text

l Ϣʔβʔͷຊ࣭తͳ՝୊͸Կ ͔ʁ=> ղ͘΂͖՝୊͸ਖ਼͍͠ ͔ʁ l ػೳཁ݅͸ؒҧ͍ͬͯͳ͍ ͔ʁ => ղ͖ํ͸߹͍ͬͯΔ ͔ʁ l ϩόετੑͷߴ͍બ୒ࢶΛͱ ΕΔΑ͏ʹຊ࣭తͳ՝୊Λൃ ݟ͢ΔϓϩηεΛଵΒͳ͍ɻ ロバスト性の高いシステムアーキテクチャに変更した話の例: レストランにおける分散システムの構築と改善 ՝୊ʹର͢Δຊ࣭తͳιϦϡʔγϣϯઃܭΛߦ͏

Slide 21

Slide 21 text

l ݱঢ়͸ੜ੒AIʹର͢Δࢢ৔ͷظ଴஋͕େ͖͘ɺϦʔυ֫ಘίετ͕௿͍ɻҰํͰɺٕज़ తͳ੍໿Λਖ਼͘͠ސ٬ʹ఻͑Δίετ͕ߴ͘ɺظ଴஋ͷζϨ͕ੜ͡΍͍͢ɻӦۀ/CS΁ ͷద੾ͳ৘ใ࿈ܞ͕ॏཁͳہ໘Ͱ͋Δɻ l ैདྷͷAIϓϩμΫτͷಋೖϓϩηε(PoCͳͲ)Λݕ౼͠ɺސ٬ͱద੾ʹίϛϡχέʔγϣ ϯ͢ΔɻLLM͕APIԽ͞Ε͍ͯΔ෼ɺඇAIϓϩμΫτతͳಋೖΛ͕ͪ͠ɻ஫ҙͯ͠ɺސ٬ ͱͷؔ܎ੑΛߏங͢Δɻ ୹ظతͳച্ΛٻΊͯɺա౓ͳظ଴ΛઞΓɺސ٬ͱͷؔ܎ੑΛ૕ࣦͯ͠͸͍͚ͳ͍ɻ ސ٬ͱ௕͍ؔ܎ੑΛٻΊͯɺظ଴஋Λ͢Γ߹ΘͤΔ

Slide 22

Slide 22 text

まとめ

Slide 23

Slide 23 text

LLMϓϩμΫτͷϩόετੑΛߴΊΔखஈͱλΠϛϯάΛ஌Δɻ l ߏஙύλʔϯ(Collect feedback, Defensive UX, Caching, Guardrails, RAG, Fine-tuning, Evals)Λ׆༻͢ Δɻ l ·ͨɺϓϩμΫτϑΣʔζʹ߹ΘͤͯɺROIΛݟۃΊύλʔϯΛ૊Έ߹ΘͤΔɻ ϩόετੑʹࠨӈ͞Εͳ͍ӡ༻Λߦ͏ɻ l ຊ࣭తͳސ٬՝୊ʹରͯ͠ϩόετੑͷߴ͍ιϦϡʔγϣϯΛ༏ઌ͢Δɻ l Ӧۀ/CSͷମ੍ΛްΊʹ͠ɺސ٬ͱͷྑ͍ؔ܎ੑΛங͘ɻ ·ͱΊ

Slide 24

Slide 24 text

ੜ੒AIϓϩμΫτ։ൃʹڵຯ͋Δํɺ࠙਌ձͰ͓࿩͠͠·͠ΐ͏ l LLMOpsͷϓϩηεઃܭ/ νʔϜମ੍ɾ࠾༻/ӡ༻ l ߏஙύλʔϯͷৄࡉ l ը૾ੜ੒ܥͷϓϩμΫτ ͷ࿩ 他のトピック 採⽤しています l ࣄۀ෦CTO l SoQware Engineer l Machine Learning Engineer l Product Manager l BizDevʢ৽نࣄۀʣ l Sales l CS オンラインでも @neonankiti