$30 off During Our Annual Pro Sale. View Details »

ChatGPTなどの言語モデルは どのようにシステムで使えるか / How to use LLM in System

ChatGPTなどの言語モデルは どのようにシステムで使えるか / How to use LLM in System

2023/6/14に開催されたFukuoka Integration Xでの登壇資料です
https://fix.connpass.com/event/283871/

Naoki Kishida

June 14, 2023
Tweet

More Decks by Naoki Kishida

Other Decks in Programming

Transcript

  1. ChatGPTなどの言語モデルは
    どのようにシステムで使えるか
    LINE Fukuoka きしだ なおき
    2023/6/14 Fukuoka Integration X

    View Slide

  2. 2023/06/14 2
    自己紹介

    きしだ なおき

    LINE Fukuoka

    twitter: @kis

    「プロになるJava」という
    Java入門書を書いてます

    View Slide

  3. ChatGPTとは

    サービスとして

    Webやアプリでチャットを行う

    APIとして

    プログラムからChatGPTを呼び出す

    言語モデルとして

    ChatGPTの基盤になるTransformerをベースにした言語モデル

    文章のどこが大事か注目する

    実際には2つのモデル

    gpt-4

    gpt-3.5-turbo(サービスとしては無償で利用可能)

    View Slide

  4. ChatGPTによって「AI」開発が活発に

    研究者から技術者へ

    日本でも独自モデルを作ろうという動き

    富岳での言語モデル開発

    日本語特化モデルの相次ぐ発表

    View Slide

  5. リスクの議論も始まる

    著作権

    日本の著作権ではモデル作成がやりやすい

    利用時は人間の手による創作と変わらない基準

    ただし量が多い

    個人情報

    利用時の問い合わせに個人情報を含めてしまう

    意図せずモデル作成に使われる

    有害情報

    モデル作成時の偏り

    思いがけない出力

    View Slide

  6. ChatGPTの使いかた

    サービスとして使う

    APIとして使う

    View Slide

  7. ChatGPTの利用方法

    「言語の計算機」

    文章の変換

    文章の解析

    一般知識の解説

    テキスト生成(プログラムを含む)

    View Slide

  8. 文章の変換

    箇条書きからメール文

    要約

    文体の変換

    翻訳

    View Slide

  9. 文章の解析

    文章の妥当性のチェック

    特性の判断

    プログラムの解説

    View Slide

  10. 特性判断の例

    ブログ著者のプロファイリング

    View Slide

  11. プログラムの解説

    よくわからないプログラムを解説してくれる

    View Slide

  12. 一般知識の解説

    検索がわり

    業務フローなどの解説

    View Slide

  13. 文章の生成

    物語



    プログラム

    View Slide

  14. プロンプトの技術

    プロンプトエンジニアリング

    Chain Of Thought(CoT)

    Zero Shot CoT

    View Slide

  15. Chain Of Thought(CoT)

    考え方を提示すると正しい答えが出やすくなる

    View Slide

  16. Zero Shot CoT

    「Let’s Think Step by Step」をつけるだけでいい

    View Slide

  17. システムからの利用

    APIを利用

    関数定義が可能になった

    文章から適切な機能呼び出しの抽出

    プラグイン

    ChatGPTのサービスから自分たちのサービスを呼び出す

    Embedding(埋め込み)

    文章をベクトル化

    近い文章を見つける

    View Slide

  18. Embedding(埋め込み)

    文章の特徴をあらわすベクトルに変換

    方向が近いベクトルは似た文章

    文章検索に利用できる

    View Slide

  19. ChatGPT以外の言語モデル

    Google

    PaLM2

    Bardで使われる

    Meta

    LLaMA

    OPT

    View Slide

  20. 日本語特化LLM(発表順)

    B=10億

    ChatGPTのGPT-3.5が355Bと言われている
    提供元 名称 パラメータ数 オープン利用
    LINE, Naver
    ワークスモバイルジャパン
    HyperCLOVA 39B, 82B開発中
    オルツ LHTM-2 160B
    ABEJA ABEJA LLM 13B
    Open版ABEJA
    LLM
    2.7B 〇
    CyberAgent 極予測AI 13B
    OpenCALM 6.8B 〇
    Rinna Rinna 3.6B 〇
    AI Inside PolyShere-1 140B

    View Slide

  21. 必要なメモリ

    32bit Floatだとパラメータ数の4倍

    16bit Floatだとパラメータ数の2倍

    Rinna 3.6Bは8GB程度のGPUメモリが必要

    View Slide

  22. 使いやすくする

    小さいメモリで動かす

    Int8

    パラメータ数と同じ量のメモリ

    4bit量子化

    パラメータ数の半分のメモリ

    Rinna 3.6Bだと2GB

    CPUで動かす

    llama.cpp

    スマホで動かせる

    View Slide

  23. ローカルLLMのメリット

    実験がやりやすい

    LLMの動きを体感しやすい

    独自の学習ができる

    Fine Tuning

    View Slide

  24. FineTuningとプロンプトの違い

    プロンプトは台本

    シナリオに沿った応答をしてくれるけど、「素」がでる

    Fine Tuningは教育

    「素」を変える

    View Slide

  25. Fine Tuningの技術

    Fine Tuningを素直にやると大量のメモリが必要

    LoRA

    Low Rank Adaptation

    少ないメモリでFine Tuneできる

    View Slide

  26. Fine Tuningにはデータセットが必要

    データセットはプロンプトの集合体

    プロンプトエンジニアリングのスケールアップ

    View Slide

  27. まとめ

    現状は実験段階

    ChatGPTが出て半年で多くのサービス

    つまり半年で実装できる

    プログラミング的には難しくない

    現状は「思ったより使える」

    「使える」になるにはもうしばらくかかる

    実験して、何ができるか、どのような制約があるか体感するのが
    大切

    View Slide