Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
copyright © 2023 CMS Comunications Inc. all rights reserved. Pythonの現状から データ分析やLLM活用への発展 ─すぐにPythonを使ってみたくなる─ CMSコミュニケーションズ代表取締役 一般社団法人PyCon JP Associations理事 寺田 学 「オープンセミナー香川 2023」 2023年9月9日
Slide 2
Slide 2 text
copyright © 2023 CMS Comunications Inc. all rights reserved. 自己紹介と所属組織
Slide 3
Slide 3 text
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年,翔泳社,監修)
Slide 4
Slide 4 text
copyright © 2023 CMS Comunications Inc. all rights reserved. 所属組織 ● 株式会社 CMSコミュニケーションズ 代表取締役 ● 一般社団法人PyCon JP Association理事 ● 一般社団法人Pythonエンジニア育成推進協会顧問理事 ● Python Software Foundation Fellow
Slide 5
Slide 5 text
copyright © 2023 CMS Comunications Inc. all rights reserved. Python技術支援のコンサルサービス 関連技術
Slide 6
Slide 6 text
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/
Slide 7
Slide 7 text
copyright © 2023 CMS Comunications Inc. all rights reserved. セミナーの流れ ● Pythonの使われ方 ● Pythonバージョンと最新版について ● Pythonをどう動かすか? ● データ分析・機械学習系定番ライブラリと利用シーン ● LLMにおけるPythonの活用事例 ● コミュニティやPyConについて
Slide 8
Slide 8 text
copyright © 2023 CMS Comunications Inc. all rights reserved. Pythonの使われ方
Slide 9
Slide 9 text
copyright © 2023 CMS Comunications Inc. all rights reserved. Pythonの使われ方 ─ 1 OS等のサーバ系ツール ● Red Hat系Linux インストーラ ● yum パッケージマネージャ ● Ansible パッケージの構成ツール ● OpenStack クラウドシステム構築ツール
Slide 10
Slide 10 text
copyright © 2023 CMS Comunications Inc. all rights reserved. Pythonの使われ方 ─ 2 Webシステム ● Webフレームワーク Django / Flask / Pyramid / FastAPI ● 各種テンプレート用パッケージ ● O/Rマッパー ● その他のツール Scrapyなど
Slide 11
Slide 11 text
copyright © 2023 CMS Comunications Inc. all rights reserved. Pythonの使われ方 ─ 3 データ分析や科学技術計算 ● データ型やデータ分析ツール NumPy / pandas ● 科学技術計算 SciPy ● 可視化ツール Matplotlib ● 機械学習ツールキット scikit-learn ● ディープラーニング TensorFlow / PyTorch
Slide 12
Slide 12 text
copyright © 2023 CMS Comunications Inc. all rights reserved. Pythonの使われ方 ─ 4 IoT ● Raspberry Pi ● MicroPython
Slide 13
Slide 13 text
copyright © 2023 CMS Comunications Inc. all rights reserved. Pythonの使われ方 ─ 5 3Dグラフィックス ● Maya ● Blender
Slide 14
Slide 14 text
copyright © 2023 CMS Comunications Inc. all rights reserved. Pythonの使われ方 ─ 6 Pythonが苦手なこと ● Web フロントエンド開発 (WASMで状況が変わるか??) ● デスクトップGUIアプリ開発 ● 速度重視の低レイヤー処理 ● 超大規模なミッションクリティカルな分野の処理
Slide 15
Slide 15 text
copyright © 2023 CMS Comunications Inc. all rights reserved. Pythonバージョンと最新版について
Slide 16
Slide 16 text
copyright © 2023 CMS Comunications Inc. all rights reserved. Pythonのバージョンとサポート期間 年1回リリース&5年サポート https://devguide.python.org/versions/
Slide 17
Slide 17 text
copyright © 2023 CMS Comunications Inc. all rights reserved. Pythonの最新版について リリーススケジュール ● Python 3.12 が、2023年10月にリリース ● 年1リリースされる ● あせって、バージョンアップしなくても良い ● 最近は、動作速度アップを頑張っている ● 型ヒントやコーディングのしやすさを重視
Slide 18
Slide 18 text
copyright © 2023 CMS Comunications Inc. all rights reserved. Pythonをどう動かすか?
Slide 19
Slide 19 text
copyright © 2023 CMS Comunications Inc. all rights reserved. Pythonを手元で動かす 手元のPCにPythonをインストール ● 対話モードで試す ● VS CodeなどのIDEを使う (これが多い) ● JupyterLabを使う (データ系だと一般的)
Slide 20
Slide 20 text
copyright © 2023 CMS Comunications Inc. all rights reserved. Pythonをクラウド環境で動かす 手元のPCで動かせない場合 ● Google Colaboratoryを使う ● サーバ上で対話モードなどを使う ● サーバーレス環境で動かす
Slide 21
Slide 21 text
copyright © 2023 CMS Comunications Inc. all rights reserved. データ分析・機械学習系定番ライブラリ と 利用シーン
Slide 22
Slide 22 text
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系
Slide 23
Slide 23 text
copyright © 2023 CMS Comunications Inc. all rights reserved. 用途別定番ライブラリ ─ 1 データ分析をやってみたい ● JupyterLab ・・Webブラウザでコードの実験 ● pandas ・・DataFrame(2次元表データの加工など) ● Plotly ・・動的な可視化ツール
Slide 24
Slide 24 text
copyright © 2023 CMS Comunications Inc. all rights reserved. 用途別定番ライブラリ ─ 2 機械学習 ● JupyterLab上で ● pandas / NumPy ・・データ加工など ● scikit-learn ・・機械学習ライブラリ ● Matplotlib / Plotly ・・結果を可視化
Slide 25
Slide 25 text
copyright © 2023 CMS Comunications Inc. all rights reserved. 用途別定番ライブラリ ─ 3 ディープラーニングに挑戦 ● Google Colaboratoryの活用 ● PyTorch ・・深層学習フレームワーク
Slide 26
Slide 26 text
copyright © 2023 CMS Comunications Inc. all rights reserved. 用途別定番ライブラリ ─ 4 Webで機械学習のデモを作りたい ● Gradio or StlieamlitでWeb UIを作る ● LangChain ・・LLM関連のツールキット ● PyTorch ・・深層学習フレームワーク
Slide 27
Slide 27 text
copyright © 2023 CMS Comunications Inc. all rights reserved. LLMにおけるPythonの活用事例 ─ライブラリを活用して作ってみよう─
Slide 28
Slide 28 text
copyright © 2023 CMS Comunications Inc. all rights reserved. LLM (Large Language Model)とは 大規模言語モデル ● ChatGPTに代表される ● 無料で使えるもの、日本語に特化したものも ● 開発にはPythonが使われていることが多い ● Pythonインターフェースが提供される
Slide 29
Slide 29 text
copyright © 2023 CMS Comunications Inc. all rights reserved. LLM (Large Language Model)でできること ● テキスト生成: LLMは与えられたプロンプトに基づいてテキストを生成することができます。 ● 質問応答: ユーザーからの質問に対して情報を提供することができます。 ● 文章の要約: 長い文章やドキュメントを短く要約することができます。 ● 翻訳: 一定の精度で言語を翻訳することが可能です。 ● 文章校正: 文法や綴りのミスを指摘・修正する能力があります。 ● コードの生成・助言: 簡単なプログラミングの質問に答えたり、コードのスニペットを生成。 ● 知識の検索: トレーニングデータに基づく情報や事実を提供することができます。 ● クリエイティブライティング: 物語、詩、台本などのクリエイティブなテキストを生成 ● 学習・教育のサポート: 学習者の質問に答える、学習コンテンツを補完する情報を提供 ● ゲームや趣味のアドバイス: ボードゲームの戦略や趣味に関する質問に答える ● 一般的な会話: ユーザーと一般的な会話を楽しむことができます。 Chat GPT4によると (文言の末尾を一部修正 )
Slide 30
Slide 30 text
copyright © 2023 CMS Comunications Inc. all rights reserved. 文書をベクター検索 ─ 全体像
Slide 31
Slide 31 text
copyright © 2023 CMS Comunications Inc. all rights reserved. 文書をベクター検索 ─ インデックス化
Slide 32
Slide 32 text
copyright © 2023 CMS Comunications Inc. all rights reserved. 文書をベクター検索 ─ インデックス化 ● 元データ ● ベクトル化 ● ベクトルDB
Slide 33
Slide 33 text
copyright © 2023 CMS Comunications Inc. all rights reserved. 文書をベクター検索 ─ 質問・回答
Slide 34
Slide 34 text
copyright © 2023 CMS Comunications Inc. all rights reserved. 文書をベクター検索 ─ 質問・回答 ● ベクトル化 ● 文章生成 ● Web UI
Slide 35
Slide 35 text
copyright © 2023 CMS Comunications Inc. all rights reserved. 文書をベクター検索 ─ 全体像(再確認)
Slide 36
Slide 36 text
copyright © 2023 CMS Comunications Inc. all rights reserved. LLMを気軽に使うには LangChain https://www.langchain.com/ ● 大規模言語モデルを使うフレームワーク ● Python や JavaScriptから使える ● OpenAIのGPTモデルを気軽に使える ● 別の言語モデルにも対応
Slide 37
Slide 37 text
copyright © 2023 CMS Comunications Inc. all rights reserved. 文書をベクター検索 ─ LangChain
Slide 38
Slide 38 text
copyright © 2023 CMS Comunications Inc. all rights reserved. GitHub Issueを検索 ─ 概要 モチベーション ● 高度な検索を実現したい ● 検索結果を有効活用したい ● プライベートな情報を効率的に見つけたい
Slide 39
Slide 39 text
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
Slide 40
Slide 40 text
copyright © 2023 CMS Comunications Inc. all rights reserved. GitHub Issueを検索 ─ サンプル
Slide 41
Slide 41 text
copyright © 2023 CMS Comunications Inc. all rights reserved. GitHub Issueを検索 ─ 技術要素
Slide 42
Slide 42 text
copyright © 2023 CMS Comunications Inc. all rights reserved. GitHub Issueを検索 ─ 技術要素 (1) ● GitHub Issue ● ツールを利用: https://github.com/kazamori/github-api-tools ● JSONL形式でダウンロード
Slide 43
Slide 43 text
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
Slide 44
Slide 44 text
copyright © 2023 CMS Comunications Inc. all rights reserved. GitHub Issueを検索 ─ 技術要素 (3) ● ベクトルDB: Qdrant Cloud ● https://qdrant.tech/
Slide 45
Slide 45 text
copyright © 2023 CMS Comunications Inc. all rights reserved. GitHub Issueを検索 ─ 技術要素 (4) ● ベクトル化と同じものを使う必要がある ● Embedding: "intfloat/multilingual-e5-large" ● query: パラメータを追加している
Slide 46
Slide 46 text
copyright © 2023 CMS Comunications Inc. all rights reserved. GitHub Issueを検索 ─ 技術要素 (5) ● OpenAI APIを利用 ● 独自のLLMを利用するには、GPUが必要 ● 精度が変わってくる
Slide 47
Slide 47 text
copyright © 2023 CMS Comunications Inc. all rights reserved. GitHub Issueを検索 ─ 技術要素 (6) ● Streamlit: https://streamlit.io/ ● ホスティング: Hugging Face Spaces: https://huggingface.co/spaces
Slide 48
Slide 48 text
copyright © 2023 CMS Comunications Inc. all rights reserved. GitHub Issueを検索 ─ ソースコード https://huggingface.co/spaces/terapyon/gh-issue-search/tree/main
Slide 49
Slide 49 text
copyright © 2023 CMS Comunications Inc. all rights reserved. コミュニティやPyConについて
Slide 50
Slide 50 text
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/
Slide 51
Slide 51 text
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/
Slide 52
Slide 52 text
copyright © 2023 CMS Comunications Inc. all rights reserved. コミュニティの今 ─ 2 国外 ● 多くの国でPyConが開催 ● US / Euroは、変わらず大きな規模で開催
Slide 53
Slide 53 text
copyright © 2023 CMS Comunications Inc. all rights reserved. コミュニティの今 ─ 3 女性向け ● PyLadies Caravan ○ https://tokyo.pyladies.com/caravan/index.html
Slide 54
Slide 54 text
copyright © 2023 CMS Comunications Inc. all rights reserved. Pythonを 使ってみたくなりましたか?
Slide 55
Slide 55 text
copyright © 2023 CMS Comunications Inc. all rights reserved. ご清聴 ありがとうございました。
Slide 56
Slide 56 text
copyright © 2023 CMS Comunications Inc. all rights reserved. Q&A