Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

オープンセミナー香川 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日
  2. 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年,翔泳社,監修)
  3. copyright © 2023 CMS Comunications Inc. all rights reserved. 所属組織

    • 株式会社 CMSコミュニケーションズ 代表取締役 • 一般社団法人PyCon JP Association理事 • 一般社団法人Pythonエンジニア育成推進協会顧問理事 • Python Software Foundation Fellow
  4. 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/
  5. copyright © 2023 CMS Comunications Inc. all rights reserved. セミナーの流れ

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

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

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

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

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

    年1回リリース&5年サポート https://devguide.python.org/versions/
  11. copyright © 2023 CMS Comunications Inc. all rights reserved. Pythonの最新版について

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

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

    手元のPCで動かせない場合 • Google Colaboratoryを使う • サーバ上で対話モードなどを使う • サーバーレス環境で動かす
  14. 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系
  15. copyright © 2023 CMS Comunications Inc. all rights reserved. 用途別定番ライブラリ

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

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

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

    ─ 4 Webで機械学習のデモを作りたい • Gradio or StlieamlitでWeb UIを作る • LangChain ・・LLM関連のツールキット • PyTorch ・・深層学習フレームワーク
  19. copyright © 2023 CMS Comunications Inc. all rights reserved. LLM

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

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

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

    ─ 質問・回答 • ベクトル化 • 文章生成 • Web UI
  23. copyright © 2023 CMS Comunications Inc. all rights reserved. LLMを気軽に使うには

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

    Issueを検索 ─ 概要 モチベーション • 高度な検索を実現したい • 検索結果を有効活用したい • プライベートな情報を効率的に見つけたい
  25. 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
  26. copyright © 2023 CMS Comunications Inc. all rights reserved. GitHub

    Issueを検索 ─ 技術要素 (1) • GitHub Issue • ツールを利用: https://github.com/kazamori/github-api-tools • JSONL形式でダウンロード
  27. 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
  28. copyright © 2023 CMS Comunications Inc. all rights reserved. GitHub

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

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

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

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

    Issueを検索 ─ ソースコード https://huggingface.co/spaces/terapyon/gh-issue-search/tree/main
  33. 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/
  34. 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/
  35. copyright © 2023 CMS Comunications Inc. all rights reserved. コミュニティの今

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

    ─ 3 女性向け • PyLadies Caravan ◦ https://tokyo.pyladies.com/caravan/index.html