Upgrade to Pro — share decks privately, control downloads, hide ads and more …

メルカリ生成AI/LLM専任チームの取り組み@MS Build Japan2023

メルカリ生成AI/LLM専任チームの取り組み@MS Build Japan2023

メルカリ生成AI/LLM専任チームの取り組み@MS Build Japan 2023でお話しした内容。(DEMOは動きません)
どなたかの参考になれば。

採用募集してます!
- Software Engineer(Full Stack) LLM/AI - Mercari: https://apply.workable.com/mercari/j/76EB5EB641/
- Senior Product Manager, LLM/GenAI - Mercari: https://apply.workable.com/mercari/j/57A4BBD796/

Yuki Ishikawa

July 09, 2023
Tweet

More Decks by Yuki Ishikawa

Other Decks in Business

Transcript

  1. 2 Confidential  いしかわ   ゆうき 石川 佑樹 株式会社メルカリ 執行役員 VP of

    Generative AI / LLM 東京大学卒業後、2012年任天堂株式会社入社。2014年にモイ株式会社(ツイ キャス)に入社し、各種開発や新規立ち上げに従事。2017年6月メルカリグループ の株式会社ソウゾウ(旧)に入社。その後、株式会社メルカリへ異動を経て、2020 年7月より株式会社メルペイ執行役員VP of Product。2021年1月から株式会社 ソウゾウ代表取締役CEO。2022年7月から株式会社メルカリ執行役員VPを兼 任。
  2. 5 Confidential 目次 No CONTENTS 1 生成AIの潮流 2 AIの急激な変化への対応 3

    具体的な取り組み 4 プロダクトアイデアの事例 5 直近リリース予定の施策紹介 6 最後に
  3. 11 Confidential ベーシックな使い方だけでも様々な活用方法 • Text ◦ Marketing ◦ Sales ◦

    Support ◦ Knowledge ◦ General writing • Video ◦ Video editing / generation ◦ Personalized videos • Image ◦ Image generation ◦ Consumer / Social ◦ Media / Advertising ◦ Design • Code ◦ Code generation ◦ Documentation ◦ Web app builders ◦ Text to SQL • 3D ◦ 3D models / scenes • Speech ◦ Voice synthesis • Others ◦ Gaming ◦ Music ◦ Audio ◦ RPA ◦ Biology / Chemistry
  4. 14 Confidential Direction “AI Driven” • AI Driven For UX

    • AI Driven For Engineering • AI Driven For Employee Direction
  5. 15 Confidential Direction: AI Driven For UX • AIの進化をみた上で、1,3,5年後のメルカリの姿にどうAIが統合されていくと思う か?

    • 生成AI/LLM時代の、AIを活かしたプロダクト体験はどんなものであるべきか? AIを活かした お客さまへのプロダクト体験
  6. 16 Confidential Direction: AI Driven For Engineering • AI活用をしやすいデータ・API設計はどういうものか?そのために必要なアクショ ンは何か?

    • AIによる自動化やパーソナライズのための必要情報は十分reachableになっ ているか?必要な情報量・幅はあるか? AIを活かすための基盤投資
  7. 17 Confidential Direction: AI Driven For Employee • 全ての領域・職種で、AIと協働してパフォーマンスを発揮できているか? •

    AIの最新の進歩と可能性を継続的に学習し、業務に適用する仕組みを構築でき ているか? AI活用を前提とした 業務設計・組織設計
  8. 22 Confidential ① ガイドライン策定 • MLチームだけでなく、一般のSWEのチームもプロダクト実装できるように必要 • メルカリ研究開発組織「R4D」とも連携しつつ策定 • 国内外の状況をキャッチアップしつつ、作る。意外と大変。

    ② 勉強会・ハッカソン Enabling • 毎週金曜に社内勉強会やってる(ゆるふわ) • 全社のハッカソンにうまく乗っかって、布教活動 • 4月/メルカリJPのハッカソンでLLM Award、6月/メルペイでLLMハッカソン
  9. 24 Confidential Enabling & Building(既存プロダクトへの適応) 各Function Team (チーム名はイメージ ) Seller

    UX Buyer UX CS Fintech LLM team 企画立案、利用モデルの選定、 prompt engineering、プロダクト実装etc B2C XB
  10. 25 Confidential Enabling & Building(既存プロダクトへの適応) ② 共創 ① 主導 Functionチームがリード

    し、LLM周りを必要に 応じて専任チームが確認 するなど並走するケース LLM専任チームが オーナーシップをもち、 企画から実装まで実施す るケース
  11. 26 Confidential モデルの選定 1. LLM APIs ex: Azure OpenAI Service,

    OpenAI API, Google PaLM2, Claude etc 2. OSS models ex: Dolly2.0, OpenLLaMa, Falcon, OpenCALM etc 3. 内製の基盤モデル
  12. 27 Confidential ツールの選定 • Retrieval Augmented Generation ◦ 回答に必要な情報を検索してテキストを生成する ◦

    ツール:Azure Cognitive Search, Elasticsearch • Function call ◦ 必要なAPIを自分でコールしてアクションを起こす。 Agent作成には必須 ◦ ツール:OpenAI Function calling, LangChain • LLM Pipeline ◦ 上記のような拡張をつなげる。複雑な機能開発には必須。 ◦ ツール:LangChain, Semantic Kernel
  13. Grand Vision • Chat that understands what the user wants,

    and provides what our service can. • Search the app and data, not just items • “I want to buy Pixel 7” -> Display Pixel 7 listings • “I want to list my iPhone 13” -> List with pre-filled information • “How much did I earn in Mercari?” -> “You earned XX yen total.”
  14. Implementation Plan 1. Provide GPT a list of Mercari APIs

    and deeplinks as context, with a simple description 2. GPT should be able to give instructions to call the correct API or deeplinks to satisfy the request. 3. Chat: Send the APIs response to GPT to find the information 4. Present GPT’s final response as Chat to user.
  15. Initial Prompt for Search '''''' Possible deeplinks in the app:

    Item Detail Screen xxxxx://xxxx/xxxxxxxx?id={item_id} Listing Screen xxxxx://xxxxx/xxxxxx Search Results Screen mercari://xxxxx/xxxxxxx?param={param} <screen_name> xxxxx://xxxx<deeplink_path> Bought Items /xxxxxxxx Coupon List /xxxxxxx Draft Listings /xxxxx … '''''' Display the deeplink first, followed by a newline, then a human readable action label {deeplink} {button action label} ''''''
  16. Initial Prompt for Chat '''’'' Mercari API: Description: {endpoint_path} [{query_name:

    Type}] Liked Items History: xxx/xxxxx [xxxxx: Int] My User Profile: xxxxx/xxxxx?_user_format="xxxx" '''''' If it is plain user prompt, create only API call instruction tokens in order to retrieve the information by the Mercari user. Strict completion format for tokenization. Do not return anything else but the instruction in this case. example format: GET: xxx/xxxx?pageSize=10 If the prompt is json response data, consider it as the success response of the API call and use it to retrieve the data desired by the user and describe to the user. ''''''
  17. Overall Design - API Key - Comments - User input

    https://api.openai.com/v1/chat/completions - User input (Polite version)
  18. Prompt Engineering [ "role": "system" "content":”C2Cマーケットプレイスアプリにおいて、出品者と購入者がコメントのやり取りを行なっています。  [これまでのコメントのやり取り ]の内容を踏まえて、[回答]を丁寧な日本語に置き換えてください。例を示します # Input

    [これまでのコメントのやり取り ] 値下げしてください [回答] むり #Output 申し訳ありませんが、値下げの交渉はお断りしております。 ], [ "role": "user", "content": “ [これまでのコメントのやり取り ] こんにちは!値下げしていただくことは可能でしょうか!? [回答] いやだ ] Context and Rule Definition Actual Input
  19. 52 Confidential We are Hiring! • Software Engineer(Full Stack) LLM/AI

    - Mercari • Senior Product Manager, LLM/GenAI - Mercari メルカリグループのデータや基盤を使ってどんどんサービスを作りたい人募集!