Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AI搭載エディタCursorの紹介と機械学習コンペでの使用レビュー
Search
tatematsu
May 28, 2024
19
5k
AI搭載エディタCursorの紹介と機械学習コンペでの使用レビュー
社内の技術共有会での発表資料です。
AI搭載エディタCursorの機能の紹介とKaggle等の機械学習コンペで使ってみて役立った点などを共有します
tatematsu
May 28, 2024
Tweet
Share
More Decks by tatematsu
See All by tatematsu
Kaggle役立ちアイテム紹介(入門編)
k951286
14
4.6k
Kaggle Benetechコンペ振り返り
k951286
1
610
Kaggle NFL3コンペ振り返り
k951286
0
260
kaggle PPPMコンペ反省会
k951286
0
900
kaggle Outdoorコンペ振り返り
k951286
0
2.8k
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Faster Mobile Websites
deanohume
305
30k
Code Reviewing Like a Champion
maltzj
520
39k
It's Worth the Effort
3n
183
27k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Adopting Sorbet at Scale
ufuk
73
9.1k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Docker and Python
trallard
40
3.1k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
Transcript
AI 2024.05.23 立松 郁也 GO株式会社 AI搭載エディタCursorの紹介と 機械学習コンペでの使用レビュー
AI 2 ❏ AI搭載エディタCursorについて話します ❏ 基本的な機能の紹介と機械学習コンペでの使用レビューの共有です 注意事項 ❏ 特に後半は私個人の感想が多めです ❏
自分はFreeプラン+OpenAI api登録で利用中であり、それ前提での使 用感になります 本日の内容
AI 3 ❏ 自己紹介 ❏ Cursorの機能紹介 ❏ 機械学習コンペでの使用レビュー ❏ まとめ・感想
目次
AI 4 自己紹介 • 氏名 ◦ 立松 郁也 • 経歴
◦ 2017年4月 大学院入学 ▪ ナーススケジューリング問題の研究 ◦ 2019年4月 電機メーカー入社 ▪ 需要予測モデル開発 ▪ 最適在庫の分析 ◦ 2021年3月 GO株式会社入社(旧:株式会社Mobility Technologies) ▪ 次世代AIドラレコサービス『DRIVE CHART』の分析業務 • SNS ◦ X: https://twitter.com/monnu0621 ◦ Kaggle : https://www.kaggle.com/fuumin621
AI 5 01 Cursorの機能紹介
AI 6 ❏ AIによる支援機能を搭載したコードエディタ ❏ コードの自動生成、自動デバックや質疑応答等が可能 ❏ VScodeからフォーク ❏ VScodeと似たインターフェース
❏ 基本的にVScodeの拡張機能は全てCursorでも使用可能 ❏ remote sshやdev container等ももちろん対応 ❏ モデル選択の自由度は高め ❏ apiを利用してOpenAI,Claude等のモデルが利用可能 ❏ 例えば最近リリースされたgpt-4oも利用可能 Cursorとは?
AI 7 料金プランは3パターン。自分はFreeプラン+OpenAI apiで利用中。 FreeプランでもOpenAI等のapi登録すれば一部機能除き無制限で利用可。 Cursor料金プラン Freeプラン Proプラン ($20/month) Businessプラン
($40/user/month) • Proの2週間トライアル • Slow GPT-4 50回 • GPT-3.5 200回 • Copilot ++ 2000回 • OpenAI or Anthropicの apiキー登録すれば一部 機能除き無制限で利用可 • Freeの全ての内容 • Fast GPT-4 500回 • Slow GPT-4 無制限 • GPT-3.5 無制限 • Copilot ++無制限 • Proの全ての内容 • 管理者用ダッシュボード • 一括請求 • 強制プライバシーモード • OpenAIデータ保持なし ※ 2024/05時点の情報です。詳細は公式サイトを参照 https://cursor.sh/pricing
AI 8 AIを利用したコードの自動生成、編集が可能。 1-50行程度の編集におすすめ。 コード選択してCommand +Kを押し、指示を与えるだけ。 Cursorの機能:Command K (自動編集) 自動でコード編集が提案
差分がハイライト 受入or拒否はユーザ判断 範囲選択して 指示を与える
AI 9 LLMとチャットしながら開発が可能。ChatGPT等と類似しているが、 手元のコードを理解した上で質疑応答できる点が魅力。 Cursorの機能:Chat 作業中のファイル を自動で理解 Command+L で チャットウィンドウ
インストール方法 や変更箇所を教 えてくれる
AI 10 Cursorの機能:Chat 指定ブロックのみ 読ませることも可 LLMとチャットしながら開発が可能。ChatGPT等と類似しているが、 手元のコードを理解した上で質疑応答できる点が魅力。
AI 11 エラーが発生した際、AIが自動で原因調査をしてくれる Cursorの機能:Auto Debug エラー発生すると Debug with AI ボタンが出現
自動で原因調査
AI 12 任意のパッケージの公式ドキュメントを参照した上で回答が可能 有名なパッケージは既に登録済み。URL指定して追加も可能。 Cursorの機能:ドキュメント参照 例えばPyTorch 公式docsはすで に登録済み URLで任意のドキュメントの 追加も可
(例はPyTorchLightning)
AI 13 Github Copilotのようなコード補完機能。ただしfreeプランでは制限あり。 Cursor独自モデルが使われているためOpenAI等のapi登録利用では使えない。 Cursorの機能:Copilot++
AI 14 1ファイルだけでなくコードベース全体についても質問が可能 Cursorの機能:Codebase Answer 「元に戻す」ロジッ クはどこにあるか 質問 コードベース全体 を読んで調査
AI 15 ❏ privacy mode ❏ オンにすればCursorサーバーにコードが保存されない ❏ Freeプランでも有効化できるため、とりあえずON推奨 ❏
api登録 ❏ OpenAI等のapiキーが登録可能 ❏ Freeプランの場合はまともに使おうと思うと必須 ❏ これを使えばFreeプランでもgpt-4o等がフルに使える ❏ 当然だがOpenAI等のapi利用料はかかるため注意 ❏ 利用モデルの指定 ❏ 設定でapi利用するモデルを指定できる ❏ デフォルトはgpt-4だが、gpt-4o,gpt-4-turboなども有 効化しておくのがオススメ。 設定まわりの話 利用モデルの設定例
AI 16 02 機械学習コンペでの使用レビュー
AI 17 ❏ ベースラインモデルを爆速で開発 ❏ ChatやCommand Kで効率的に開発可能 ❏ Wandb等の実験管理ツールの導入も一瞬でできる ❏
実験サイクルを高速化 ❏ 思いついたアイデアを実装に素早く落とし込める ❏ 学習時のテクニックの追加、モデルアーキテクチャの変更等が楽 ❏ 他の参加者のコード(Public Notebook等)の理解、改良 ❏ TensorFlow→PyTorch等、フレームワークの移植 ❏ 複雑なロジックの解説(間違う場合もあるので注意は必要) 機械学習コンペでの使用レビュー 個人的にコンペでCursorが役に立つポイントは以下の3つ 特に実装効率の改善がコンペ参加にあたり大きく寄与した
AI 18 機械学習コンペでの使用レビュー Solafune Finding Mining Sites https://solafune.com/competitions/58406cd6-c3bb-4f7a-85c7-c5a1ad67ca03 ❏ 鉱山採掘場を検知するコンペ
❏ 衛星画像から鉱山採掘場があるか否かを分類 Kaggle Stanford Ribonanza RNA Folding https://www.kaggle.com/competitions/stanford-ribonanza-rna-folding ❏ RNAの系列データに関するコンペ ❏ RNA配列から各塩基の薬品との反応性を予測 以降では下記のコンペを題材に、具体的に役立った例をコードを交えて紹介します
AI 19 コンペで役立った点 : ベースラインモデルを爆速で開発 例 : 衛星画像の分類コンペの場合 Command KやChatを駆使すると爆速でベースラインが開発できる
基本的にはAIに実装してもらい、適宜手動で修正する 実装中のコードを参照した上で対話できるので話が早い データの読み込み 部だけ実装 Chatで方針 を指示
AI 20 コンペで役立った点 : ベースラインモデルを爆速で開発 例 : 衛星画像の分類コンペの場合 Chatで実装コー ドが提供される
AI 21 コンペで役立った点 : ベースラインモデルを爆速で開発 例 : 衛星画像の分類コンペの場合 自動編集、実行、手動で修正を繰り返すだけでベースラインモデルができる Command
Kも使 い自動編集 Command Kも使 い自動編集
AI 22 コンペで役立った点 : 実験サイクルを高速化 例 : 画像分類にmixupを入れたい ファイルを読み 込んで回答
変更箇所を教え てくれる
AI 23 コンペで役立った点 : 実験サイクルを高速化 例 : RNAコンペのモデルアーキテクチャを改良したい 変更点を指示 変更箇所が提案
される
AI 24 コンペで役立った点 : 他の参加者のコードの理解、改良 公開Notebookを 手元で開く 実装に関して 質問 例
:RNAコンペの公開Notebookの理解を深めたい コードを読み込 んで解説 https://www.kaggle.com/code/iafoss/rna-starter-0-186-lb
AI 25 コンペで役立った点 : 他の参加者のコードの理解、改良 例 :RNAコンペの公開Notebookの理解を深めたい https://www.kaggle.com/code/iafoss/rna-starter-0-186-lb 細かいクラスの 部分もそれなり
に理解して解説
AI 26 コンペで役立った点 : 他の参加者のコードの理解、改良 例 :RNAコンペの公開Notebookをfastai→PyTorchLightningへ変換 https://www.kaggle.com/code/iafoss/rna-starter-0-186-lb 使い慣れたフレー ムワークへ変換
AI 27 コンペでの機能別利用頻度と使用感 機能名 利用頻度 使用感 Chat ◯ 1番使う。ただのChatGPTと言われればそうなのだが、手元のコードが参照さ れるだけで開発効率が大幅に変わる。ファイル全体を深く理解してくれている
のがありがたい。会話の履歴が残るのも地味に嬉しい。 Command K (自動編集) ◯ 2番目に使う。簡単な編集であればChatよりこちらの方が楽。 多少複雑なことする場合は、対話しながら進めたいのでChatの方が良い。 Auto Debug △ エラー文をChatにコピーすれば同じことなので、あえてこの機能を使うことはあ まりなかった。 ドキュメント参照 △ 便利な気はするが、最新の公式ドキュメント参照が必要になる機会が意外と少 なかった。 Copilot++ ? Freeプランには制限があり十分使えず。 CodebaseAnswer △ 自分は1実験1スクリプト派だからかコードベース全体を見てほしいことはあま りなかった。 自分がコンペで使った機能はChatとCommand Kがほとんど。 簡単な編集はCommand K,多少複雑な場合はChatを使うことが多い。
AI 28 ❏ Cursor vs 通常のChatGPT ❏ 通常のChatGTPは手元のコードを毎回コピペする必要があり煩わしい ❏ Cursorのように手元コードを勝手に読んでくれるだけで効率が全く違う
❏ Cursor vs Github Copilot Chat ❏ 機能としては類似している ❏ ただ個人的には回答の質はCursor > Github Copilotな印象 ❏ 裏のモデルの違い?or indexロジックの違い? ❏ Cursorだとapi経由で任意のllm使えるのも嬉しい ❏ gpt-4o,gpt-4-turbo等 他のツールとの比較 ※個人の感想です
AI 29 ❏ Cursorの機能と機械学習コンペでの使用感を紹介した ❏ 機能は豊富にあるが、一部の機能(Chat+Command K)だけでも十分コンペで 役に立った ❏ 特に実装コストが低くなり、実験サイクルを早く回せる点が大きい
❏ 一方でたまに回答に間違いもあり、また複雑な実装は自分で行う必要がある ❏ 間違いに気づけるよう実装のチェックや検証は必要 ❏ 複雑な実装は結局自分で行うので、必要な実装力は変わらない印象 ❏ とはいえ効率化されることで、本質的な分析や難しい実装に時間を割けるのは嬉 しい 感想・まとめ