Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AI搭載エディタCursorの紹介と機械学習コンペでの使用レビュー

tatematsu
May 28, 2024
4.8k

 AI搭載エディタCursorの紹介と機械学習コンペでの使用レビュー

社内の技術共有会での発表資料です。
AI搭載エディタCursorの機能の紹介とKaggle等の機械学習コンペで使ってみて役立った点などを共有します

tatematsu

May 28, 2024
Tweet

Transcript

  1. 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
  2. AI 6 ❏ AIによる支援機能を搭載したコードエディタ ❏ コードの自動生成、自動デバックや質疑応答等が可能 ❏ VScodeからフォーク ❏ VScodeと似たインターフェース

    ❏ 基本的にVScodeの拡張機能は全てCursorでも使用可能 ❏ remote sshやdev container等ももちろん対応 ❏ モデル選択の自由度は高め ❏ apiを利用してOpenAI,Claude等のモデルが利用可能 ❏ 例えば最近リリースされたgpt-4oも利用可能 Cursorとは?
  3. 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
  4. AI 15 ❏ privacy mode ❏ オンにすればCursorサーバーにコードが保存されない ❏ Freeプランでも有効化できるため、とりあえずON推奨 ❏

    api登録 ❏ OpenAI等のapiキーが登録可能 ❏ Freeプランの場合はまともに使おうと思うと必須 ❏ これを使えばFreeプランでもgpt-4o等がフルに使える ❏ 当然だがOpenAI等のapi利用料はかかるため注意 ❏ 利用モデルの指定 ❏ 設定でapi利用するモデルを指定できる ❏ デフォルトはgpt-4だが、gpt-4o,gpt-4-turboなども有 効化しておくのがオススメ。 設定まわりの話 利用モデルの設定例
  5. AI 17 ❏ ベースラインモデルを爆速で開発 ❏ ChatやCommand Kで効率的に開発可能 ❏ Wandb等の実験管理ツールの導入も一瞬でできる ❏

    実験サイクルを高速化 ❏ 思いついたアイデアを実装に素早く落とし込める ❏ 学習時のテクニックの追加、モデルアーキテクチャの変更等が楽 ❏ 他の参加者のコード(Public Notebook等)の理解、改良 ❏ TensorFlow→PyTorch等、フレームワークの移植 ❏ 複雑なロジックの解説(間違う場合もあるので注意は必要) 機械学習コンペでの使用レビュー 個人的にコンペでCursorが役に立つポイントは以下の3つ 特に実装効率の改善がコンペ参加にあたり大きく寄与した
  6. 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配列から各塩基の薬品との反応性を予測 以降では下記のコンペを題材に、具体的に役立った例をコードを交えて紹介します
  7. AI 19 コンペで役立った点 : ベースラインモデルを爆速で開発 例 : 衛星画像の分類コンペの場合 Command KやChatを駆使すると爆速でベースラインが開発できる

    基本的にはAIに実装してもらい、適宜手動で修正する 実装中のコードを参照した上で対話できるので話が早い データの読み込み 部だけ実装 Chatで方針 を指示
  8. AI 24 コンペで役立った点 : 他の参加者のコードの理解、改良 公開Notebookを 手元で開く 実装に関して 質問 例

    :RNAコンペの公開Notebookの理解を深めたい コードを読み込 んで解説 https://www.kaggle.com/code/iafoss/rna-starter-0-186-lb
  9. AI 27 コンペでの機能別利用頻度と使用感 機能名 利用頻度 使用感 Chat ◯ 1番使う。ただのChatGPTと言われればそうなのだが、手元のコードが参照さ れるだけで開発効率が大幅に変わる。ファイル全体を深く理解してくれている

    のがありがたい。会話の履歴が残るのも地味に嬉しい。 Command K (自動編集) ◯ 2番目に使う。簡単な編集であればChatよりこちらの方が楽。 多少複雑なことする場合は、対話しながら進めたいのでChatの方が良い。 Auto Debug △ エラー文をChatにコピーすれば同じことなので、あえてこの機能を使うことはあ まりなかった。 ドキュメント参照 △ 便利な気はするが、最新の公式ドキュメント参照が必要になる機会が意外と少 なかった。 Copilot++ ? Freeプランには制限があり十分使えず。 CodebaseAnswer △ 自分は1実験1スクリプト派だからかコードベース全体を見てほしいことはあま りなかった。 自分がコンペで使った機能はChatとCommand Kがほとんど。 簡単な編集はCommand K,多少複雑な場合はChatを使うことが多い。
  10. 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等 他のツールとの比較 ※個人の感想です
  11. AI 29 ❏ Cursorの機能と機械学習コンペでの使用感を紹介した ❏ 機能は豊富にあるが、一部の機能(Chat+Command K)だけでも十分コンペで 役に立った ❏ 特に実装コストが低くなり、実験サイクルを早く回せる点が大きい

    ❏ 一方でたまに回答に間違いもあり、また複雑な実装は自分で行う必要がある ❏ 間違いに気づけるよう実装のチェックや検証は必要 ❏ 複雑な実装は結局自分で行うので、必要な実装力は変わらない印象 ❏ とはいえ効率化されることで、本質的な分析や難しい実装に時間を割けるのは嬉 しい 感想・まとめ