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

オープンセミナー香川 Pythonの現状・データ分析・LLM

Manabu TERADA
September 09, 2023

オープンセミナー香川 Pythonの現状・データ分析・LLM

Pythonの現状から データ分析やLLM活用への発展

─すぐにPythonを使ってみたくなる─

CMSコミュニケーションズ代表取締役
一般社団法人PyCon JP Associations理事
寺田 学

「オープンセミナー香川 2023」 2023年9月9日

Manabu TERADA

September 09, 2023
Tweet

More Decks by Manabu TERADA

Other Decks in Technology

Transcript

  1. copyright © 2023 CMS Comunications Inc. all rights reserved.
    Pythonの現状から
    データ分析やLLM活用への発展
    ─すぐにPythonを使ってみたくなる─
    CMSコミュニケーションズ代表取締役
    一般社団法人PyCon JP Associations理事
    寺田 学
    「オープンセミナー香川 2023」 2023年9月9日

    View full-size slide

  2. copyright © 2023 CMS Comunications Inc. all rights reserved.
    自己紹介と所属組織

    View full-size slide

  3. copyright © 2023 CMS Comunications Inc. all rights reserved.
    自己紹介
    寺田 学 (Manabu TERADA)
    ● Pythonエンジニア
    ● Podcast 「terapyon channel」(https://podcast.terapyon.net)
    ● 主な関連書籍(共著・監修・監訳)
    ○ Pythonデータ分析 実践ハンドブック(2023年,インプレス,共著)・・まもなく発売
    ○ Pythonによるあたらしいデータ分析の教科書 第2版 (2022年,翔泳社,共著)
    ○ Python実践レシピ(2022年,技術評論社,共著)
    ○ Python FlaskによるWebアプリ開発入門 (2022年,翔泳社,監修)

    View full-size slide

  4. copyright © 2023 CMS Comunications Inc. all rights reserved.
    所属組織
    ● 株式会社 CMSコミュニケーションズ 代表取締役
    ● 一般社団法人PyCon JP Association理事
    ● 一般社団法人Pythonエンジニア育成推進協会顧問理事
    ● Python Software Foundation Fellow

    View full-size slide

  5. copyright © 2023 CMS Comunications Inc. all rights reserved.
    Python技術支援のコンサルサービス
    関連技術

    View full-size slide

  6. copyright © 2023 CMS Comunications Inc. all rights reserved.
    PyCon APAC 2023
    チケット発売中
    ● https://2023-apac.pycon.jp/
    ● 日程: 10/27(金)〜29(日) の3日間
    ● チケット: 12,000円(ランチ付き)
    ○ https://pretix.eu/pyconjp/2023-apac/

    View full-size slide

  7. copyright © 2023 CMS Comunications Inc. all rights reserved.
    セミナーの流れ
    ● Pythonの使われ方
    ● Pythonバージョンと最新版について
    ● Pythonをどう動かすか?
    ● データ分析・機械学習系定番ライブラリと利用シーン
    ● LLMにおけるPythonの活用事例
    ● コミュニティやPyConについて

    View full-size slide

  8. copyright © 2023 CMS Comunications Inc. all rights reserved.
    Pythonの使われ方

    View full-size slide

  9. copyright © 2023 CMS Comunications Inc. all rights reserved.
    Pythonの使われ方 ─ 1
    OS等のサーバ系ツール
    ● Red Hat系Linux インストーラ
    ● yum パッケージマネージャ
    ● Ansible パッケージの構成ツール
    ● OpenStack クラウドシステム構築ツール

    View full-size slide

  10. copyright © 2023 CMS Comunications Inc. all rights reserved.
    Pythonの使われ方 ─ 2
    Webシステム
    ● Webフレームワーク Django / Flask / Pyramid / FastAPI
    ● 各種テンプレート用パッケージ
    ● O/Rマッパー
    ● その他のツール Scrapyなど

    View full-size slide

  11. copyright © 2023 CMS Comunications Inc. all rights reserved.
    Pythonの使われ方 ─ 3
    データ分析や科学技術計算
    ● データ型やデータ分析ツール NumPy / pandas
    ● 科学技術計算 SciPy
    ● 可視化ツール Matplotlib
    ● 機械学習ツールキット scikit-learn
    ● ディープラーニング TensorFlow / PyTorch

    View full-size slide

  12. copyright © 2023 CMS Comunications Inc. all rights reserved.
    Pythonの使われ方 ─ 4
    IoT
    ● Raspberry Pi
    ● MicroPython

    View full-size slide

  13. copyright © 2023 CMS Comunications Inc. all rights reserved.
    Pythonの使われ方 ─ 5
    3Dグラフィックス
    ● Maya
    ● Blender

    View full-size slide

  14. copyright © 2023 CMS Comunications Inc. all rights reserved.
    Pythonの使われ方 ─ 6
    Pythonが苦手なこと
    ● Web フロントエンド開発 (WASMで状況が変わるか??)
    ● デスクトップGUIアプリ開発
    ● 速度重視の低レイヤー処理
    ● 超大規模なミッションクリティカルな分野の処理

    View full-size slide

  15. copyright © 2023 CMS Comunications Inc. all rights reserved.
    Pythonバージョンと最新版について

    View full-size slide

  16. copyright © 2023 CMS Comunications Inc. all rights reserved.
    Pythonのバージョンとサポート期間
    年1回リリース&5年サポート
    https://devguide.python.org/versions/

    View full-size slide

  17. copyright © 2023 CMS Comunications Inc. all rights reserved.
    Pythonの最新版について
    リリーススケジュール
    ● Python 3.12 が、2023年10月にリリース
    ● 年1リリースされる
    ● あせって、バージョンアップしなくても良い
    ● 最近は、動作速度アップを頑張っている
    ● 型ヒントやコーディングのしやすさを重視

    View full-size slide

  18. copyright © 2023 CMS Comunications Inc. all rights reserved.
    Pythonをどう動かすか?

    View full-size slide

  19. copyright © 2023 CMS Comunications Inc. all rights reserved.
    Pythonを手元で動かす
    手元のPCにPythonをインストール
    ● 対話モードで試す
    ● VS CodeなどのIDEを使う (これが多い)
    ● JupyterLabを使う (データ系だと一般的)

    View full-size slide

  20. copyright © 2023 CMS Comunications Inc. all rights reserved.
    Pythonをクラウド環境で動かす
    手元のPCで動かせない場合
    ● Google Colaboratoryを使う
    ● サーバ上で対話モードなどを使う
    ● サーバーレス環境で動かす

    View full-size slide

  21. copyright © 2023 CMS Comunications Inc. all rights reserved.
    データ分析・機械学習系定番ライブラリ と
    利用シーン

    View full-size slide

  22. copyright © 2023 CMS Comunications Inc. all rights reserved.
    データ分析・機械学習定番ライブラリ
    ● Jupyter ・・環境
    ● NumPy / pandas / Matplotlib / Plotly・・データ加工・可視化
    ● scikit-learn ・・機械学習
    ● PyTorch / Keras / TensorFlow ・・ディープラーニング
    ● Streamlit / Gradio ・・Web UIフレームワーク
    ● Transformers / LangChain ・・自然言語処理・LLM系

    View full-size slide

  23. copyright © 2023 CMS Comunications Inc. all rights reserved.
    用途別定番ライブラリ ─ 1
    データ分析をやってみたい
    ● JupyterLab ・・Webブラウザでコードの実験
    ● pandas ・・DataFrame(2次元表データの加工など)
    ● Plotly ・・動的な可視化ツール

    View full-size slide

  24. copyright © 2023 CMS Comunications Inc. all rights reserved.
    用途別定番ライブラリ ─ 2
    機械学習
    ● JupyterLab上で
    ● pandas / NumPy ・・データ加工など
    ● scikit-learn ・・機械学習ライブラリ
    ● Matplotlib / Plotly ・・結果を可視化

    View full-size slide

  25. copyright © 2023 CMS Comunications Inc. all rights reserved.
    用途別定番ライブラリ ─ 3
    ディープラーニングに挑戦
    ● Google Colaboratoryの活用
    ● PyTorch ・・深層学習フレームワーク

    View full-size slide

  26. copyright © 2023 CMS Comunications Inc. all rights reserved.
    用途別定番ライブラリ ─ 4
    Webで機械学習のデモを作りたい
    ● Gradio or StlieamlitでWeb UIを作る
    ● LangChain ・・LLM関連のツールキット
    ● PyTorch ・・深層学習フレームワーク

    View full-size slide

  27. copyright © 2023 CMS Comunications Inc. all rights reserved.
    LLMにおけるPythonの活用事例
    ─ライブラリを活用して作ってみよう─

    View full-size slide

  28. copyright © 2023 CMS Comunications Inc. all rights reserved.
    LLM (Large Language Model)とは
    大規模言語モデル
    ● ChatGPTに代表される
    ● 無料で使えるもの、日本語に特化したものも
    ● 開発にはPythonが使われていることが多い
    ● Pythonインターフェースが提供される

    View full-size slide

  29. copyright © 2023 CMS Comunications Inc. all rights reserved.
    LLM (Large Language Model)でできること
    ● テキスト生成: LLMは与えられたプロンプトに基づいてテキストを生成することができます。
    ● 質問応答: ユーザーからの質問に対して情報を提供することができます。
    ● 文章の要約: 長い文章やドキュメントを短く要約することができます。
    ● 翻訳: 一定の精度で言語を翻訳することが可能です。
    ● 文章校正: 文法や綴りのミスを指摘・修正する能力があります。
    ● コードの生成・助言: 簡単なプログラミングの質問に答えたり、コードのスニペットを生成。
    ● 知識の検索: トレーニングデータに基づく情報や事実を提供することができます。
    ● クリエイティブライティング: 物語、詩、台本などのクリエイティブなテキストを生成
    ● 学習・教育のサポート: 学習者の質問に答える、学習コンテンツを補完する情報を提供
    ● ゲームや趣味のアドバイス: ボードゲームの戦略や趣味に関する質問に答える
    ● 一般的な会話: ユーザーと一般的な会話を楽しむことができます。
    Chat GPT4によると (文言の末尾を一部修正
    )

    View full-size slide

  30. copyright © 2023 CMS Comunications Inc. all rights reserved.
    文書をベクター検索 ─ 全体像

    View full-size slide

  31. copyright © 2023 CMS Comunications Inc. all rights reserved.
    文書をベクター検索 ─ インデックス化

    View full-size slide

  32. copyright © 2023 CMS Comunications Inc. all rights reserved.
    文書をベクター検索 ─ インデックス化
    ● 元データ
    ● ベクトル化
    ● ベクトルDB

    View full-size slide

  33. copyright © 2023 CMS Comunications Inc. all rights reserved.
    文書をベクター検索 ─ 質問・回答

    View full-size slide

  34. copyright © 2023 CMS Comunications Inc. all rights reserved.
    文書をベクター検索 ─ 質問・回答
    ● ベクトル化
    ● 文章生成
    ● Web UI

    View full-size slide

  35. copyright © 2023 CMS Comunications Inc. all rights reserved.
    文書をベクター検索 ─ 全体像(再確認)

    View full-size slide

  36. copyright © 2023 CMS Comunications Inc. all rights reserved.
    LLMを気軽に使うには
    LangChain https://www.langchain.com/
    ● 大規模言語モデルを使うフレームワーク
    ● Python や JavaScriptから使える
    ● OpenAIのGPTモデルを気軽に使える
    ● 別の言語モデルにも対応

    View full-size slide

  37. copyright © 2023 CMS Comunications Inc. all rights reserved.
    文書をベクター検索 ─ LangChain

    View full-size slide

  38. copyright © 2023 CMS Comunications Inc. all rights reserved.
    GitHub Issueを検索 ─ 概要
    モチベーション
    ● 高度な検索を実現したい
    ● 検索結果を有効活用したい
    ● プライベートな情報を効率的に見つけたい

    View full-size slide

  39. copyright © 2023 CMS Comunications Inc. all rights reserved.
    GitHub Issueを検索 ─ サンプル
    ● cpython
    ● pyvista
    ● plone
    ● volto
    ● plone.restapi
    ● nvda
    ● nvdajp
    ● cocoa
    https://huggingface.co/spaces/terapyon/gh-issue-search

    View full-size slide

  40. copyright © 2023 CMS Comunications Inc. all rights reserved.
    GitHub Issueを検索 ─ サンプル

    View full-size slide

  41. copyright © 2023 CMS Comunications Inc. all rights reserved.
    GitHub Issueを検索 ─ 技術要素

    View full-size slide

  42. copyright © 2023 CMS Comunications Inc. all rights reserved.
    GitHub Issueを検索 ─ 技術要素 (1)
    ● GitHub Issue
    ● ツールを利用: https://github.com/kazamori/github-api-tools
    ● JSONL形式でダウンロード

    View full-size slide

  43. copyright © 2023 CMS Comunications Inc. all rights reserved.
    GitHub Issueを検索 ─ 技術要素 (2)
    ● データをOpenAI APIに渡さない方針
    ● Embedding: "intfloat/multilingual-e5-large"
    ● MTEB Leaderboard:
    https://huggingface.co/spaces/mteb/leaderboard

    View full-size slide

  44. copyright © 2023 CMS Comunications Inc. all rights reserved.
    GitHub Issueを検索 ─ 技術要素 (3)
    ● ベクトルDB: Qdrant Cloud
    ● https://qdrant.tech/

    View full-size slide

  45. copyright © 2023 CMS Comunications Inc. all rights reserved.
    GitHub Issueを検索 ─ 技術要素 (4)
    ● ベクトル化と同じものを使う必要がある
    ● Embedding: "intfloat/multilingual-e5-large"
    ● query: パラメータを追加している

    View full-size slide

  46. copyright © 2023 CMS Comunications Inc. all rights reserved.
    GitHub Issueを検索 ─ 技術要素 (5)
    ● OpenAI APIを利用
    ● 独自のLLMを利用するには、GPUが必要
    ● 精度が変わってくる

    View full-size slide

  47. copyright © 2023 CMS Comunications Inc. all rights reserved.
    GitHub Issueを検索 ─ 技術要素 (6)
    ● Streamlit: https://streamlit.io/
    ● ホスティング: Hugging Face Spaces:
    https://huggingface.co/spaces

    View full-size slide

  48. copyright © 2023 CMS Comunications Inc. all rights reserved.
    GitHub Issueを検索 ─ ソースコード
    https://huggingface.co/spaces/terapyon/gh-issue-search/tree/main

    View full-size slide

  49. copyright © 2023 CMS Comunications Inc. all rights reserved.
    コミュニティやPyConについて

    View full-size slide

  50. copyright © 2023 CMS Comunications Inc. all rights reserved.
    PyCon APAC 2023
    チケット発売中
    ● https://2023-apac.pycon.jp/
    ● 日程: 10/27(金)〜29(日) の3日間
    ● チケット: 12,000円(ランチ付き)
    ○ https://pretix.eu/pyconjp/2023-apac/

    View full-size slide

  51. copyright © 2023 CMS Comunications Inc. all rights reserved.
    コミュニティの今 ─ 1
    四国
    ● UDONPy・・高松を中心に月1勉強会
    ○ https://udonpy.connpass.com/
    ● Python Boot Camp 徳島2nd
    ○ 2023年10月14日開催
    ○ https://pyconjp.connpass.com/event/293032/

    View full-size slide

  52. copyright © 2023 CMS Comunications Inc. all rights reserved.
    コミュニティの今 ─ 2
    国外
    ● 多くの国でPyConが開催
    ● US / Euroは、変わらず大きな規模で開催

    View full-size slide

  53. copyright © 2023 CMS Comunications Inc. all rights reserved.
    コミュニティの今 ─ 3
    女性向け
    ● PyLadies Caravan
    ○ https://tokyo.pyladies.com/caravan/index.html

    View full-size slide

  54. copyright © 2023 CMS Comunications Inc. all rights reserved.
    Pythonを
    使ってみたくなりましたか?

    View full-size slide

  55. copyright © 2023 CMS Comunications Inc. all rights reserved.
    ご清聴
    ありがとうございました。

    View full-size slide

  56. copyright © 2023 CMS Comunications Inc. all rights reserved.
    Q&A

    View full-size slide