メインコンテンツまでスキップ

[マウムジギ 開発日誌 #7] 合成データ(v5)生成の最適化とフロントエンド連携

· 約3分
Jihwan Park (jaybee)
AI & Robotics Engineer

カバー画像

4月7日は、チームメンバーが構築したフロントエンドのコードをローカル環境で実行して統合を試みた日であり、 人工知能(AI)を活用して不足しているカウンセリングデータを新たに6万件も「合成(Synthesis)」するという巨大なスクリプトを稼働させた日です。

不足したデータを埋めろ:AI合成データ(v5)生成​

  • 問題: 既存の精製データ(v4)だけでは、特定の感情や細かなカウンセリングシナリオが不足していました。これを解決するため、Claude アプリケーションプログラミングインターフェース(API)を使用してLlama 3.1の訓練フォーマットに合わせた仮想の高品質カウンセリング対話を6万件生成しようとしました。
  • 過程:

    「Claudeが独自に作ったv5のデータセットを作りたいです。計画を立ててください。」 「jsonlフォーマットに合わせてClaudeが生成してくれる6万件のデータセットが欲しいです。」

  • 結果: v5_plan.mdを作成し、データの生成を開始しました。しかし、すぐにAPI呼び出しコストが再び足かせとなりました。

終わらないコストとの戦い:プロンプト最適化​

  • 問題: 6万件のデータをAIに創作させようとしたところ、数日前に経験したコスト問題が再発しました。スクリプト実行中に10ドルのクレジットがあっという間に蒸発しました。
  • 過程:

    「step8_generate_v5_optimized.py このまま進めればトークン使用量は減りますか?」 「現在クレジットの$10を消費しましたが、まだこの程度の進行状況です。」

  • 結果: AIにコストを削減できるプロンプトエンジニアリングとコード最適化を指示し、出力トークンの浪費を防ぎ、生成の進行状況を安全に保存するロジックを追加しました。

チームメンバーのフロントエンドコードの引き継ぎと実行​

  • 過程:

    「このプロジェクトはチームメイトが作ったプロジェクトですが、私が実行するにはどうすればいいですか?」 「データベース(DB)マイグレーション中にエラー発生...」 「6段階目のfrontendまで実行完了。終了方法と再実行時の簡単な手順を教えてください。」

  • 結果: チームメンバーが作成しておいたリポジトリを引き継ぎ、ローカルで実行してDBマイグレーションエラーを解決しました。これで、バックエンドのAIモデルとフロントエンドが出会う準備が整いました。

ターミナルのスクリーンショット

今日はデータ前処理を超えて、**「AIがAIを学習させるための教科書(データ)を直接執筆する(Synthetic Data Generation)」**という最新のディープラーニングトレンドを直接実装してみた意義深い日でした。 降り注ぐ課金の恐怖の中で最適化を成し遂げ、フロントエンドサーバーまで無事に立ち上げた一日でした!