Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
慶應義塾大学 機械学習基礎02 LLMによる問題解決支援
Search
Semantic Machine Intelligence Lab., Keio Univ.
PRO
October 12, 2023
Technology
100k
122
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
慶應義塾大学 機械学習基礎02 LLMによる問題解決支援
Semantic Machine Intelligence Lab., Keio Univ.
PRO
October 12, 2023
More Decks by Semantic Machine Intelligence Lab., Keio Univ.
See All by Semantic Machine Intelligence Lab., Keio Univ.
[EMNLP26] RIGEL: Self-Distilled Score Adaptation for Image and Video Captioning Evaluation
keio_smilab
PRO
0
130
[RSJ26] Building a VLA Model Based on Self-Distilled Classification
keio_smilab
PRO
0
220
[RSJ26] AnoleVLA: Lightweight Vision-Language-Action Model with Deep State Space Models for Mobile Manipulation
keio_smilab
PRO
0
190
[RSJ26] NarrativeFlow: Flow-Based Vision-Language-Action Model Using Robot Velocity Fields
keio_smilab
PRO
0
260
[RSJ26] Flow as Flow: Modeling Robot Velocity Fields as Probability Velocity Fields
keio_smilab
PRO
1
250
[RSJ26] Hierarchy-Aware Multimodal Retrieval-Augmented Generation for Embodied Question Answering
keio_smilab
PRO
1
200
[MIRU26] Open-Vocabulary Intention-Guided Object Detection in Diverse Scenes
keio_smilab
PRO
0
250
[Journal club] Evo-1: Lightweight Vision-Language-Action Model with Preserved Semantic Alignment
keio_smilab
PRO
0
75
[MIRU26] To What Extent Does MLLM-as-a-Judge Exhibit Cross-Model Preference Bias?
keio_smilab
PRO
0
340
Other Decks in Technology
See All in Technology
CSS2026:OWS研究会・招待講演「世界観を、実装する」
atsush1_sada
2
340
推論基盤と Scale-Up Interconnect の現状と制約から俯瞰する技術動向
markunet
2
540
Devin プロモコードの受け取りと適用(2026.10.27)
kinopeee
1
650
「社外イベント=意識高い」の壁を壊せ!元々無関心だった僕らが部内で社外イベントを民主化して15人を連れ出すまで
say_no_w
0
160
Obsidian Vault Architectures
x5gtrn
PRO
0
190
Filter What the LLM Reads: RAG Governance with AgentCore Gateway
yakumo
1
120
生成AI時代、PMは事業責任者に進化するともっと面白い〜PMだからこそ事業構造を動かせる時代に〜
kakehashi
PRO
1
940
DevelopersIO 2026 Tokyo 現時点の衛星通信サービスの現状を整理してみる
maroon1st
0
320
Let's Change Our World—Again
snoozer05
PRO
6
710
【Oracle AI SPOTLIGHT ウェビナー】事例から見る!なぜOCIが選ばれたのか ― AI時代のクラウド戦略を紐解く ―
oracle4engineer
PRO
1
120
AWSDirectConnectの構築の進め方を整理してみた
masa_my
1
200
Patterns in AI Driven Software Development
akosma
PRO
0
300
Featured
See All Featured
Statistics for Hackers
jakevdp
799
230k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.6k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
650
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Building the Perfect Custom Keyboard
takai
2
920
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
550
Done Done
chrislema
187
17k
How to train your dragon (web standard)
notwaldorf
96
6.9k
How GitHub (no longer) Works
holman
316
150k
Between Models and Reality
mayunak
4
520
Transcript
慶應義塾大学理工学部 機械学習基礎 第2回 LLMによる問題解決支援 情報工学科 教授 杉浦孔明
[email protected]
本講義の到達目標と今回の授業の狙い 本講義の到達目標 ▪ DNNの基礎理論と実装の関係を理解する ▪ 種々のDNNをコーディングできる 今回の授業の狙い ▪ ChatGPTを用いたコーディング習得方法を学ぶ ▪
出席確認: K-LMS上の機械学習基礎のMainページへアクセス -2-
ChatGPTを用いて コーディングを習得する -3-
コーディングエージェント ▪ GitHub Copilot in VS Code https://code.visualstudio.com/docs/copilot/ ai-powered-suggestions ▪
Codex CLI https://www.youtube.com/watch?v=PUBc2G 0Tj5E -4-
コーディングエージェントの普及 ▪ コーディングエージェントを業務で毎日利用する層=73%(2026/6-8 月時点) ▪ https://survey.stackoverflow.co/2026/ai/data ▪ 情報工学実験第2「知能ロボティクス」でコーディングエージェント の利用をデフォルトに(2026) -5-
今後の予想と本講義の立ち位置 今後の予想 ▪ 入門レベルのプログラマの需要は長期的 に減少すると予想 ▪ 上達スピードを速めることが重要 本講義の立ち位置 ▪ LLMをコーディングエージェントではなく、
チューターとして上達に利用する方法を 学ぶ -6-
何でも聞ける「個人チューター」の必要性 2022年までの「機械学習基礎」受講者の意見 ▪ 「Pythonのオブジェクト指向に関する記法に馴染みがない」 ▪ 「調べ方がわからない」 「個人チューター」の背景 ▪ プログラミング入門者には個人チューターが効果的だが、受講者に対 してTAが少なすぎる(40:1)
▪ 上級者であっても、初めて使うライブラリには説明が必要 -8-
ChatGPT [OpenAI, 2022/11/30] ▪ ChatGPT:大規模言語モデル(Large Language Model; LLM)を用い たチャットボット ▪
言語モデル:単語列の生成確率を推定するモデル ▪ 「ChatGPT」はサービス名であるが、口語では大規模言語モデルを 指すことが多い ▪ 以前のチャットボット ▪ 数十年前から何度も盛り上がるものの、 キラーアプリに欠けるため必需品とならず ▪ 関連技術を今後の授業で紹介 -9-
ChatGPTを 個人チューターとして使おう ▪ おそらく本科目が日本で初めて ChatGPTを用いたコーディング習得 を大学科目で正式に開始 (2023/1/6) - 10 -
ChatGPTとの対話例 1. ChatGPTと会話することでPyTorchを学んでみたいと思います。私はPython初心者 です。オブジェクト指向プログラミングもわかりません。まずはPyTorchの初心者 用プログラムについて教えてください。 2. PyTorchをインストールしました。MNIST画像データセットをダウンロードするに はどうすれば良いですか? 3. ダウンロードできました。データを加工して、モデルに入力する形にするにはど
うすれば良いですか? 4. 変換できました。次に多層パーセプトロンで画像分類を行うにはどうすれば良い ですか? 5. 最初の行にあるピリオドはどういう意味ですか? - 11 -
コーディング習得でのChatGPTのメリット・デメリット ▪ ビギナーほど説明が必要 →ChatGPTは初級コードが得意 ▪ 高度知識に比べ初級知識に関する学習サンプルが多いためと予想 ▪ 公式ドキュメント(含教科書)は正式な知識源だが、あらゆるレベル に合わせたドキュメントを書くことは不可能 ⇔ChatGPTの回答は正しいとは限らないが、ChatGPTでは個々のレベル
に合わせた説明が可能 ▪ TAに聞くのは効率的だが気を使う ⇔ChatGPTはいつでも・どこでも・気を使うことなく質問可能 - 12 -
ハルシネーションとコーディングへの影響 ▪ ハルシネーション(錯誤) ▪ いかにも正しそうだが実際には誤りである内容の生成 ▪ ハルシネーションの影響を軽減するには? ▪ 調べ物: ハルシネーションかどうかわからないこともある
▪ コーディング: コンパイラのエラーメッセージをもとに間違いを 修正しやすい ▪ 教科書で調べる、検索する、人に聞く、をバランスよく組み合わせる のが良い - 13 -
コーディング用プロンプトのコツ ①「◦◦にわかるように」 初心者・大学生・高校生・小学◦ 年生等の単語を〇〇に入れる ②条件を細かく指定 Pythonのコード、コメントを多く、 ◦◦ライブラリを使う/使わず、等 ③提案されたコードでうまくいか ない場合→エラーメッセージその ものをプロンプトに入力
文脈に合わせて解決策を出力する - 14 -
プロンプトエンジニアリング: 望ましい出力を得るために指示を設計・改良する作業 ▪ 背景 ▪ プロンプトで出力を制御できるAIの台頭 ▪ 今後 ▪ コーディング、論文執筆、事務作業、等多くの業務でプロンプトエ
ンジニアリングのスキルが重要になる - 15 -
プロンプトエンジニアリングスキルを身につけるには? プロンプト集を作る ▪ 有益だったプロンプトをメモ ▪ 使う頻度が高いほど上に来るよ うにランキング 有益なプロンプトを調べる プロンプトエンジニアリング講座、 検索、周囲と情報交換
- 16 -
ChatGPTを使う際の 注意点 - 18 -
大規模言語モデルによるコード生成で起こった問題の例 (2022/10 GitHub Copilot) ▪ Texas A&M Univ.のTim Davis 教授:「自分が著作権を有する
コードを、attributionやLGPL 表示なしでCopilotが生成し た」 ▪ プロンプト:「sparse matrix transpose, cs_」 ▪ 感想:確かに多くは類似 ▪ コメントまでコピペされて いる点は類似とみなされて もやむを得ない https://twitter.com/DocSparse/status/1581632706693079042/photo/1 - 19 -
注意:リテラシーや法的問題 ▪ プロンプトに含めるべきではない情報に注意 ▪ 個人情報、パスワード、APIキー、機密情報等 ▪ 「公に書けない情報」を入力してはならない ▪ 他者の著作権を侵害してはならない ▪
例:「生成されたコードを公開したが、後になって他者 の著作物と著しく似ていることがわかった」という状況 は許されない ▪ 利用規約に反する行為 ▪ 利用規約が書かれたページがサービスごとに存在するの で読むこと - 20 -
ChatGPTをコーディング習得補助に使うのであって、 コードをすべて生成させるわけではない ▪ 大規模言語モデルのみで商品レ ベルのプログラムを簡単に作る ことはできない ▪ 例えばゲームを作るとして、 「シューティングゲームなの か、2次元なのか、ボス敵は
どんな形か、…(仕様)」が 明確でなければ、良いゲーム は作れない Gemini 3.7 Flash (Google) https://www.youtube.com/watch?v=9_PtOVH2FPE - 21 -
長所・短所を理解し学びに活用することが重要 ▪ 検証を忘れないように ▪ LLMはツールである ▪ 英訳サービス・予測変換・文法校正ツールと本質的に同じ ▪ 鉛筆や辞書同様、使い方を学べばよい -
22 -
実習 - 23 -
初歩的な内容を質問する(3分) 課題:以下をChatGPTに入力せよ 1. NumPyについて教えて ▪ 上記回答中のわからない内容についてさらに問い合わせよ ▪ 例:「ブロードキャストとは何ですか」 2. 現在、google
colaboratoryのノートブックの画面を見ています。この ノートブックを実行する手順を教えてください 3. 以下のコードを説明してください。 np.loadtxt(fname, delimiter=",") - 24 -
エラーメッセージと修正方法の解説 ▪ 課題:以下をChatGPTに入力せよ 以下のエラーについて説明し、どのように修正すればよいか教えてください。 ZeroDivisionError Traceback (most recent call last)
<ipython-input-6-b457b0d96231> in <module> 1 ans = 0 2 for i in range(10): ----> 3 ans += A[i] // B[i] 4 print(ans) ZeroDivisionError: integer division or modulo by zero - 25 -
ChatGPT補助付きNumPy入門(10分) 課題:以下のページの確認問題を解け。その際にChatGPTに説明させよ。 【要keio.jp】 https://colab.research.google.com/drive/1r_JfRv3eL4-eyJ3G2xcBain1CTS41y8?usp=sharing - 26 -
docstringの生成 ▪ 課題:以下をChatGPTに入力せよ 以下の関数のdocstringを生成してください。出力はdocstringのみとしてください: def zeller(year, month, day): if month
<= 2: year -= 1 month += 10 else: month -= 2 w = day + int((13 * month - 1) / 5) + year + int(year / 4) - int(year / 100) + int(year / 400) x=w%7 return x # コンソールから入力を受け取る year = input("誕生年を入力してください(Enterで決定):") month = input("誕生月を入力してください(Enterで決定):") day = input("誕生日を入力してください(Enterで決定):") # 曜日の計算を0-6の間で計算する x = zeller(year, month, day) # 出力 ws = ["日", "月", "火", "水", "木", "金", "土"] print(f"{year}年{month}月{day}日の曜日は{ws[x]}曜日です") - 27 -
問題点の指摘とコーディング規約に準拠した修正案の生成 ▪ 課題:以下をChatGPTに入力せよ 以下の問題点を指摘し、正しいコードを出力させてください。コードはPEP8 に準拠させてください。: for i in range(1, 1001):
sum_divisor = 0 for j in range(1, i//2): if i % j == 0: sum_divisor += j if i == sum_divisor: print(i) - 28 -
別解の生成 ▪ 課題:以下をChatGPTに入力せよ 以下のコードを、内包表記を使って高速になるように書き換えてください: for i in range(1, 1001): sum_divisor
= 0 for j in range(1, i//2 + 1): if i % j == 0: sum_divisor += j if i == sum_divisor: print(i) - 29 -
ChatGPT補助付きPythonデバッグ入門(10分) 課題:以下のページの例題1を解け。その際にChatGPTに説明させよ。 【要keio.jp】 https://drive.google.com/file/d/1bhpxE-wcrus0xbhYW700FTPxcoPdO9I/view?usp=sharing ▪ 上級者:確認問題2、確認問題3を解け - 30 -
PyTorchとは https://pytorch.org/ ▪ 主として深層学習に用いられるPython向け機械学習フレームワーク ▪ 他にTensorFlow, JAX等がある ▪ 2019年以降TensorFlowより優勢 [State
of AI Report 2020: https://www.stateof.ai/2020] - 31 -
ChatGPT補助付きPyTorchチュートリアル 課題:以下のページの「テンソル」「データセットとデータローダー」 の日本語解説を実行せよ。その際にChatGPTに説明させよ。 ▪ https://yutaroogawa.github.io/pytorch_tutorials_jp/ ▪ 上記はPyTorch公式チュートリアルが日本語訳されたものである ▪ 時間が余った場合は以下も入力してみよ ▪
他のチュートリアル ▪ 機械学習基礎のスライド: Google Driveから入手可 ▪ 論文 (例 https://arxiv.org/abs/1706.03762) - 32 -