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
17
4.8k
AI搭載エディタCursorの紹介と機械学習コンペでの使用レビュー
社内の技術共有会での発表資料です。
AI搭載エディタCursorの機能の紹介とKaggle等の機械学習コンペで使ってみて役立った点などを共有します
tatematsu
May 28, 2024
Tweet
Share
More Decks by tatematsu
See All by tatematsu
Kaggle役立ちアイテム紹介(入門編)
k951286
13
4.2k
Kaggle Benetechコンペ振り返り
k951286
1
580
Kaggle NFL3コンペ振り返り
k951286
0
220
kaggle PPPMコンペ反省会
k951286
0
870
kaggle Outdoorコンペ振り返り
k951286
0
2.8k
Featured
See All Featured
Designing Experiences People Love
moore
138
23k
How STYLIGHT went responsive
nonsquared
94
5.1k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Building a Scalable Design System with Sketch
lauravandoore
459
32k
Optimizing for Happiness
mojombo
375
69k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.6k
Building an army of robots
kneath
302
42k
Documentation Writing (for coders)
carmenintech
65
4.3k
Art, The Web, and Tiny UX
lynnandtonic
295
20k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Infographics Made Easy
chrislema
239
18k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
7.5k
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)だけでも十分コンペで 役に立った ❏ 特に実装コストが低くなり、実験サイクルを早く回せる点が大きい
❏ 一方でたまに回答に間違いもあり、また複雑な実装は自分で行う必要がある ❏ 間違いに気づけるよう実装のチェックや検証は必要 ❏ 複雑な実装は結局自分で行うので、必要な実装力は変わらない印象 ❏ とはいえ効率化されることで、本質的な分析や難しい実装に時間を割けるのは嬉 しい 感想・まとめ