データエンジニアのみっつと申します。 この記事はSnowflakeアドベントカレンダーの11日目の投稿です!
今回は、我々のプロジェクトで進んでいるAIの活用と、Snowflake社と共同で実施したブートキャンプを通じた、AI/ML導入への取り組みについて紹介します😃
(ここの文章の大半はAIの力を借りて生成しました😃)
はじめに
近年、AI(人工知能)進歩は目覚ましく、私たちの開発現場でも活用が進んでいます。特に、開発者やデータ基盤利用者の支援において、AIの導入は生産性の向上や新たな価値創出につながっています。
AIの活用領域について
開発者支援
- AIとのペアプログラミング:機能開発時にAIを活用することで、コードの自動生成や最適化が可能となり、開発スピードの向上を実現しています。
- ドキュメントのキャッチアップ:蓄積された仕様や知見に関して、AIに相談しながら効率的に理解を深めることができるようになりました。
- コードレビューの自動化:実装したコードに対してAIによるレビューを行い、品質の高いコードベースを維持しています。
これらを通じで人同士のペアプログラミングの必要性が格段になくなって効率化しました。新メンバーのキャッチアップやそれに必要なサポート工数も大幅に少なくなりました。
加えて実装の属人性も少なくなってます😃
データ利用者支援
- データ探索の効率化:必要なデータがどこにあるかをAIが回答し、データ活用のスピードを向上させます。
- クエリ作成の補助:複雑なクエリの作成をAIがサポートし、データ分析のハードルを下げています。
- 自然言語による集計・可視化:自然言語での問い合わせに対応し、データの集計や可視化をスムーズに行えるようになります。
データ基盤は開発で機能追加するだけでは利用は進みません。開発が進むにつれてこの部分の乖離が大きくなってきているところにSnowflake上で実現できるAIによる利用者支援機能が効いています
総じて、我々のデータ基盤プロジェクトへのAIの導入は、開発者にも利用者へも大きな利便性向上を与えてくれました🙏
このような状況の下でSnowflake社とのブートキャンプを実施しました😃
昨年から今年にかけて大幅に強化が進んだSnowflakeのAI/ML機能について、正直、理解が追いついていない状況でした💦 www.snowflake.com
そんな話しを相談したところ、まずは研修会みたいなのをやってみますか!と言っていただき🙏
今回のブートキャンプが実現しました💪
事前の目標の設定
◎ 実施後の目指す状態
- Snowflake上でのAI/ML開発の開始:ブートキャンプを通じて、Snowflake上でAI/MLの開発をスタートできる体制を整える。
○ 具体的なゴール
- ユースケースの具体化:直近でML適用を検討しているユースケースについて、具体的なアプローチを策定する。
- モデル管理の理解:モデルやデータセットの管理方法を理解し、実装時のdbtとの棲み分けや運用フローをイメージできるようにする。
- 運用・コストの見積もり:AI/ML導入に伴う運用面やコストに関して、具体的な見積もりを立てられるようにする。
事前準備
ブートキャンプの企画から実施まで1ヶ月以上の時間があったため、チームメンバーで手分けして以下のQuickstartsを実施しました。
直前には成果共有会も開催し、知見の共有を図りました。
- Getting Started with Snowflake ML Forecasting and Classification
- Deploying Custom Models To Snowflake Model Registry
- Churn Modeling Using Snowflake and Hex
- Data Analysis and Churn Prediction Using Snowflake Notebooks
- A Getting Started Guide With Snowflake Arctic and Snowflake Cortex
実際にこれらを進めてみて、改めてQuickstartsの内容が非常に充実していることを実感しました。ステップバイステップの解説で、新しい技術の習得に大いに役立ちました。
ブートキャンプ当日の内容
ブートキャンプには、アナリストとデータエンジニア計6名で参加しました。
- 前半セッション:SnowflakeのAI/ML機能に関する全般的な説明を受け、最新の技術動向や活用事例について学びました。
- 後半セッション:私たちがAI/MLの適用を検討している具体的なユースケースに対して、ハンズオン形式で実践的なトレーニングを行いました。
得られた成果と今後の展開
ツールの使い分けの理解
- Cortex、Snowpark、Notebookの活用方法:各ツールの特性や適用範囲を理解し、プロジェクトに応じた使い分けがイメージできるようになりました。
- Copilot、Cortex Analystの使い分け:データアナリスト向け、エンジニア向けのツールを効果的に活用する方法を学び、業務への適用を具体的に検討できるようになりました。
チーム内での知識共有と連携強化
- ディスカッションを通じた課題解決:Snowflake社のエンジニアと直接意見交換することで、私たちの抱える課題に対する具体的なソリューションを見出すことができました。
- 今後のプロジェクト推進:ブートキャンプで得た知見を活かし、AI/MLの導入プロジェクトを加速させる基盤が整いました。
まとめ
今回のブートキャンプを通じて、Snowflake上でのAI/ML開発に関する深い理解と実践的なスキルを習得することができました。 特に、ツールの使い分けやモデル管理など、これからのプロジェクトに直結する知見を得られたことは大きな成果でした。
今後は、得られた知見を活かして実際の業務へのAI/ML適用を進めていきたいです😃 データ活用の幅を広げることで、ビジネスにも新しい価値をもたらすことができると考えています💪
引き続き、最新の技術を積極的に取り入れながら、チャレンジを続けていきます。ご興味のある方は、ぜひ一緒に未来を創っていきましょう!
関連記事