メインコンテンツへスキップ
見出し画像

MLflowイベントに参加して:初心者から見た「現在」と「未来」

    2025年3月18日に開催されたMLflowに関するイベントに参加してきました。普段MLflowに触れる機会はまだ少ないのですが、最新の技術動向を知りたいと思い会場へ。今回は、そんな初心者目線で、イベントで特に印象に残った内容をレポートしたいと思います。

    2025.03.19 追記:発表資料が公開されてました!

    MLflowって何?

    まず最初に説明があったのは、MLflowというツールの概要についてでした。2018年に生まれたこのツールは、もともと機械学習の実験を管理するために開発されたそうです。「実験管理」と言われてもピンとこなかったのですが、話を聞くうちに、AIのプロジェクトを進める上で、どんな設定で実験をしたのか、どんな結果が出たのかなどを記録・整理するのに役立つ、とても便利なツールだということが分かりました。

    MLflowは進化を続けており、今では実験の記録だけでなく、作ったAIモデルを管理したり、実際に使えるようにするための機能も備わっているそうです。すでに多くの人がMLflowを利用していると聞いて、その重要性を改めて感じました。

    LLMの登場と新たな課題

    イベントでは、LLMの登場によって、AIの開発現場で新たな課題が出てきているという話もありました。これまでのAIは、一つのモデルで一つのタスクをこなすことが多かったのですが、LLMのような複雑なAIが登場したことで、複数のAIやツールが連携して一つの目標を達成する「複合AIシステム」という考え方が注目されているそうです。
    このような複雑なシステムを管理するためには、これまで以上に高度なツールが必要になります。そこで重要になってくるのが、MLflowをはじめとしたMLOps(Machine Learning Operations)と呼ばれる分野の技術だそうです。

    特に気になった「DSPy」とは?

    今回のイベントで、私が最も興味を持ったのが「DSPy」という新しい技術についての紹介でした。DSPyは、MLflowの開発者と同じ研究室から生まれたライブラリで、「プロンプトからプログラミングへ」というコンセプトを持っているそうです。

    これまでは、より良い結果を得るために、プロンプトを試行錯誤することが多かったのですが、DSPyを使うと、AIアプリケーションの動作ロジックをコードとして記述できるようになるというのです。

    具体的には、DSPyでは「モジュール」という単位で処理を定義し、その中でLLMを使った推論の方法を指定します。この時、LLMへの入力(例えば、質問と関連する情報)と期待する出力(例えば、質問への回答)だけを書けば、DSPyが自動的に最適なプロンプトを見つけてくれるというのです。

    これは、プロンプトエンジニアリングの経験がない初心者にとって、非常に画期的なことだと感じました。まるで、LLMに直接指示するのではなく、LLMを賢く活用するための設計図を書くようなイメージです。

    イベントでは、DSPyとMLflowが連携することで、どのようなプロンプトが実行されているのかを可視化したり、最適化の結果をMLflowで管理したりできるという説明もありました。これにより、より効率的に、より質の高いAIアプリケーションを開発できるようになるのではないかと期待が高まりました。

    DSPyサンプルコード

    Claude3.7の力を借りて実際に動作するサンプルコードを作ってもらいました。

    import dspy
    
    question = "バチ抜けとは?"
    
    lm = dspy.LM("openai/gpt-4o-mini", api_key="YOUR_OPENAI_API_KEY")
    dspy.configure(lm=lm)
    
    # Predictionクラスを継承したモジュールを作成する
    class SimpleQA(dspy.Module):
        def __init__(self):
            super().__init__()
            self.generate = dspy.Predict("question -> answer")
        
        def forward(self, question):
            return self.generate(question=question)
    
    # モジュールをインスタンス化して実行
    qa_model = SimpleQA()
    response = qa_model(question=question)
    
    # 出力の確認
    print(response.answer)

    その他の注目ポイント

    DSPy以外にも、複雑なAIシステムの動作を可視化する「トレーシング」機能や、深層学習のサポートが強化されたことなど、興味深い情報がたくさんありました。
    また、MLflowの今後のロードマップとして、AIの評価機能の強化、AIを構成する要素間の関連性を管理する機能の向上、デプロイメントの管理機能の改善などが紹介され、MLflowがこれからも進化し続けることが分かりました。

    まとめ

    今回のイベントを通じて、MLflowがAI開発において重要な役割を果たしていること、そしてLLMの登場によってその役割がさらに大きくなっていることを理解できました。特に、DSPyという新しい技術を知ることができたのは大きな収穫でした。AI初心者にとって、プロンプトエンジニアリングの壁を乗り越え、より本格的なAIアプリケーション開発に挑戦できる可能性を示唆してくれる、そんな期待感を感じさせるイベントでした。

    最後に

    新規ソリューション、ブイキューブの既存サービスと生成AIの連携、何でもお気軽にご相談ください!

    ※当記事に記載されている会社名および商品・製品・サービス名(ロゴマーク等を含む)は、各社の商標または各権利者の登録商標です。
    ※当記事に記載されている会社名および商品・製品・サービス名(ロゴマーク等を含む)には、必ずしも商標表示®、™を付記していません。

     
     
    「技術で新たな価値を届ける」をミッションとした、株式会社ブイキューブの技術チームブログです。

    あなたへのおすすめ