Snowflake DATA CLOUD SUMMIT 24 現地レポート Day3 - BUILDERS KEYNOTE

# はじめに
現在、サンフランシスコで開催されている DATA CLOUD SUMMIT 24 に現地参加しています。DATA CLOUD SUMMITは、Snowflake社が年次で開催する最大規模のカンファレンスです。

:::note info
今年のテーマは「BUILD THE FUTURE TOGETHER WITH AI AND APPS.」で、6月3日から6月6日までの4日間にわたって開催されており、400セッション以上、180以上のパートナー企業が参加しています。
:::

今回は、Summitの3日目で3つ目となる「BUILDERS KEYNOTE」に関するレポートをお届けさせていただきます！

# Snowflakeの完全な開発スタック
Snowflake全体のエコシステムはここ1年で急速に統合されてきており、ある課題を解決するための手段が広くなってきています。様々なETL機能や地図・時系列データを含む高度な分析機能、そして時系列予測や分類といったML機能やそのMLOpsだけでなく、GenAIに関するアップデートも多くありました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3540224/f9707ed8-58c5-8562-b7bf-986a6a9d148d.png)

また、最も重要なこととしてセキュリティやガバナンスが挙げられており、その上にスケーラブルで幅広いタイプのストレージやコンピューティング、デベロッパーのニーズに合った開発言語があること、そしてそれらが複雑なインフラ管理を必要とせずに実現可能であることが述べられました。

そして、これらの開発のための重要な機能が揃ってきています。例えば、VSCode EntensionのSnowpark対応やSnowflake Notebooksの提供、そしてCI/CDに関する機能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3540224/1541cd1b-ff56-0d09-8667-4da4563dc514.png)


さらに、これらが簡単にクロスクラウドで構築できることも強調されていました。


# フル開発スタックのシナリオ『TASTY BYTES』
フル開発スタックのシナリオは、昨年のBUILDERS KEYNOTEと同様の「TASTY BYTES」社という、400台以上のフードトラックを運営している架空の会社に関するものです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3540224/4085a196-22cf-888d-e9dd-0c96f91f6bbc.png)

昨年のTASTY BYTES社では、トラックごとの売上を増やすために二つの課題がありました。それは、複雑なパイプラインによるデータサイロと、SQLによる開発の困難さです。これらを、Snowpipe StreamingとDynamic Table、Snowpark for PythonやSnowpark MLによって解決しました。

さて、それでは今年はどのような課題に直面しているのでしょうか？それは、レビューテキストやサービスチケットなどの非構造データを活用して、顧客体験を向上させる方法についてです。

そこで、この顧客体験を向上させるため、複数の言語の顧客レビューに対応することやLLMにセキュアにアクセスできる必要があること、テキストデータの前処理を行うこと、会話型のアプリを開発しデプロイする必要があることをディスカッションしています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3540224/ceb2d590-807a-0052-21b4-745b2e855e25.png)


では、どうやってこれらの課題を解決すればよいのでしょうか？そのために、プロジェクトマネージャーであるAmandaは、同様の課題に取り組んでいるBABAKに相談してみることにします。

そのディスカッションによって、次のような具体的な解決策を、Snowflakeを使うことで取れることがわかりました！それは、ユーザーの行動からデータを収集し、そのデータをデータレイクに匿名化したうえで保存し、機械学習や生成AIを使ってデータを分析・生成し、最終的にマーケティングやプロダクトの改善に利用するという方法です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3540224/b0af1b3f-a47a-26ff-2bfa-3acea5a0151d.png)

また、Snowflakeを採用することで、セキュリティ上の課題や効率性の課題が解決できることも嬉しいポイントです。一つのプラットフォーム上でLLMの利用やアプリケーション開発の作業が完結することは、開発体験的な面でも、セキュリティの面でも、非常に優れていることが分かりました。


# アプリケーションの開発
## CortexやArcticによるカスタマーレビューの分析アプリ
プリンシパルソフトウェアエンジニアのPolitaは、リードエンジニアのFelipeに、ランチタイムの時間中にカスタマーレビューを分析するアプリを開発することを依頼します。そうするとFelipeは、もしランチタイムの間にアプリの開発が完了すれば、チョコレートを会場の全員に配ることを宣言しました！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3540224/7ba6d25c-04b0-5a9f-f928-513f08628d18.png)


複数の言語で書かれた顧客レビューを分析し、その感情を判断して、主に否定的なレビューに焦点を当てます。この否定的なレビューを調査するために、Snowflake CortexのTranslate関数とSentiment関数を使って、すべてのレビューを英語に翻訳して、Sentiment関数で肯定的なレビューか否定的なレビューかを判別します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3540224/6786b6e8-30b1-d8dc-6f1b-76f7536fa347.png)


下図は、レビューを感情分析した結果を示しており、ほとんどが肯定的なレビューのようですが、少し否定的なレビューも目立つようです。（少し隠れていますが、左側にも山があります）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3540224/8d25ed88-81b3-b223-7ff1-ee4dd8220ac7.png)


Snowflake Arcticを使用して否定的なレビューをカテゴライズしてその個数をカウントします。そして、その分析結果をもとに、食品トラックの運営者に具体的で実行可能なフィードバックを含むメールを自動生成・送信しています！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3540224/9ce79101-3d02-8514-bd30-3aef69195109.png)

:::note info
Snowflake Arcticとは、Snowflakeが開発したLLMモデルです。この特徴は、コーディングが得意なことや、指示に対して忠実なことが挙げられます。前者はもちろんのこと、後者はSnowflakeにおけるデータ加工の文脈で大変有用です。例えば、JSON形式で返答してください、と伝えると、しっかりとJSON形式だけで返答してくれるといったものです。

余談ですが、私も[ハッカソン](https://devpost.com/software/sakarctic-travel-agency)でArcticを使ってみて、上記の指示追従性能の高さにはSnowflakeとの相性の良さを強く感じました！
:::

また、無事にアプリの構築が完了したため、これだけの数のオーディエンスにチョコレートが配られました！（イスの裏に貼り付けられていました・・・！それは気が付かないｗ）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3540224/f1ba8bc0-4a4c-921c-ca85-8d6e1b222027.png)


## RAGによるカスタマーサービスアプリ
この開発では、TASTY BYTES社の情報を含むPDFファイルをもとに、顧客からの質問に正確に回答するアプリケーションを構築します。そのために、PDFを読み込むUDFを使用してテキストに読み込み、そのテキストをある程度の長さで機械的にチャンク化したテーブルを用意します。

このテーブルに対して、Cortex Searchを使用して、自動的にベクトル化を施し、LLMのRAGで使用します。ここで、RAGとは下記のようなアーキテクチャをいいます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3540224/1cfc7967-e6ca-bb5f-8fd2-7cece51de6d2.png)

:::note info
RAGとは、RETRIEVE、AUGMENT、GENERATEの略で、質問文をベクトル化して（RETRIEVE）、チャンク化したテキストをベクトル化し先の質問文をベクトル化した内容との類似度から最も近しいドキュメントで質問文を拡張して（AUGMENT）、それをもとに正確性の高い回答を生成（GENERATE）する一連の流れのことです。
:::


そして、SnowflakeがホストするStreamlit in Snowflakeを使用して、RAGを使用したチャットボットアプリを開発します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3540224/fd0f7fab-c0ff-98b9-60d1-5c67d5c2284a.png)

ユーザーはこうしたRAGを意識することなく、ドキュメントに対する質問を投げかけ、本来LLMが持たない情報（TASTY BYTES社のトラックイベントの費用）に対する回答を正確に導き出しています！もちろん、別の情報として、ベジタリアンオプションがあるかどうかを聞き、具体的にどのようなベジタリアンオプションを持つかなども示すことに成功しています！


## Relational AIによる友人を含む顧客へのフリーフードの提供
TASTY BYTESチームは、冷たいブリトーを提供したことがSNSで話題となってしまい、この悪い評判を改善したいと考えています。そこで、カスタマーとその関連するユーザーに対して、フリーのブリトーを提供することを検討しました。

このために、Snowflake Marketplaceで展開されている、Relational AIというサービスを使います。このサービスを使って、カスタマーリレーションのグラフの描画や、探索などを容易に行うことができるようになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3540224/7f75f20b-db0b-24c2-8040-0365f5dfc69c.png)

Notebooks上で、このようなグラフの描画を行うことができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3540224/d7716f7b-5ad4-4a76-aa94-2db41f8b6ba2.png)

さらに、これらのグラフの内、最も重要なグラフがどれなのかなどを、グラフAIにより効率的に探索することができます。こうした最適な顧客群に対して、フリーブリトーを提供することで、効率的に悪い評判を改善することができると思われます！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3540224/8a4c80c2-55ff-09ea-80f2-7a639ac704df.png)

# おわりに
ここまでで、SnowflakeのNotebooksやCortexを使用して、簡単に高機能なLLMアプリを構築できることが確認できました！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3540224/897d4865-1ea9-33d8-f57f-bc3e800d9d5c.png)

Then... We should "GO BUILD" !!!
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3540224/5c863ff2-0e39-8f62-8cec-81facfac674b.png)

そしてもちろん、あくまでも私のこのブログ記事は要約に過ぎないので、ぜひこのブログをインプットに、すでに公開されている当キーノートのオンライン配信もご覧ください！！！→[視聴方法](https://qiita.com/toru_hiyama/items/116a5424b3f0b1fbd77f#%E3%83%A9%E3%82%A4%E3%83%96%E3%82%B9%E3%83%88%E3%83%AA%E3%83%BC%E3%83%A0%E9%85%8D%E4%BF%A1%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6)

# おまけ
Thank you Felipe and all of presenters, of cource, all the feature developers!! 
![IMG_0157.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3540224/1d93e6b2-fe92-5582-953c-c88c5bb5f8f9.jpeg)


## 仲間募集

NTTデータ テクノロジーコンサルティング事業本部 では、以下の職種を募集しています。

<details><summary>1. クラウド技術を活用したデータ分析プラットフォームの開発・構築(ITアーキテクト/クラウドエンジニア)</summary>

クラウド／プラットフォーム技術の知見に基づき、DWH、BI、ETL領域におけるソリューション開発を推進します。
https://enterprise-aiiot.nttdata.com/recruitment/career_sp/cloud_engineer

</details>

<details><summary>2. データサイエンス領域（データサイエンティスト／データアナリスト）</summary>

データ活用／情報処理／AI／BI／統計学などの情報科学を活用し、よりデータサイエンスの観点から、データ分析プロジェクトのリーダーとしてお客様のDX／デジタルサクセスを推進します。
https://enterprise-aiiot.nttdata.com/recruitment/career_sp/datascientist

</details>

<details><summary>3.お客様のAI活用の成功を推進するAIサクセスマネージャー</summary>

DataRobotをはじめとしたAIソリューションやサービスを使って、
お客様のAIプロジェクトを成功させ、ビジネス価値を創出するための活動を実施し、
お客様内でのAI活用を拡大、NTTデータが提供するAIソリューションの利用継続を推進していただく人材を募集しています。
https://nttdata.jposting.net/u/job.phtml?job_code=804

</details>

<details><summary>4.DX／デジタルサクセスを推進するデータサイエンティスト《管理職/管理職候補》</summary>
データ分析プロジェクトのリーダとして、正確な課題の把握、適切な評価指標の設定、分析計画策定や適切な分析手法や技術の評価・選定といったデータ活用の具現化、高度化を行い分析結果の見える化・お客様の納得感醸成を行うことで、ビジネス成果・価値を出すアクションへとつなげることができるデータサイエンティスト人材を募集しています。

https://nttdata.jposting.net/u/job.phtml?job_code=898

</details>


## ソリューション紹介

<details><summary> Trusted Data Foundationについて</summary><div>

～データ資産を分析活用するための環境をオールインワンで提供するソリューション～
https://enterprise-aiiot.nttdata.com/tdf/
最新のクラウド技術を採用して弊社が独自に設計したリファレンスアーキテクチャ（Datalake+DWH+AI/BI）を顧客要件に合わせてカスタマイズして提供します。
可視化、機械学習、DeepLearningなどデータ資産を分析活用するための環境がオールインワンで用意されており、これまでとは別次元の量と質のデータを用いてアジリティ高くDX推進を実現できます。

</div></details>


<details><summary> TDFⓇ-AM（Trusted Data Foundation - Analytics Managed Service）について</summary><div>

～データ活用基盤の段階的な拡張支援（Quick Start) と保守運用のマネジメント（Analytics Managed）をご提供することでお客様のDXを成功に導く、データ活用プラットフォームサービス～
https://enterprise-aiiot.nttdata.com/service/tdf/tdf_am
TDFⓇ-AMは、データ活用をQuickに始めることができ、データ活用の成熟度に応じて段階的に環境を拡張します。プラットフォームの保守運用はNTTデータが一括で実施し、お客様は成果創出に専念することが可能です。また、日々最新のテクノロジーをキャッチアップし、常に活用しやすい環境を提供します。なお、ご要望に応じて上流のコンサルティングフェーズからAI/BIなどのデータ活用支援に至るまで、End to Endで課題解決に向けて伴走することも可能です。

</div></details>


<details><summary>NTTデータとTableauについて </summary><div>

ビジュアル分析プラットフォームのTableauと2014年にパートナー契約を締結し、自社の経営ダッシュボード基盤への採用や独自のコンピテンシーセンターの設置などの取り組みを進めてきました。さらに2019年度にはSalesforceとワンストップでのサービスを提供開始するなど、積極的にビジネスを展開しています。

これまでPartner of the Year, Japanを4年連続で受賞しており、2021年にはアジア太平洋地域で最もビジネスに貢献したパートナーとして表彰されました。
また、2020年度からは、Tableauを活用したデータ活用促進のコンサルティングや導入サービスの他、AI活用やデータマネジメント整備など、お客さまの企業全体のデータ活用民主化を成功させるためのノウハウ・方法論を体系化した「デジタルサクセス」プログラムを提供開始しています。
https://enterprise-aiiot.nttdata.com/service/tableau

</div></details>


<details><summary>NTTデータとAlteryxについて </summary><div>
Alteryxは、業務ユーザーからIT部門まで誰でも使えるセルフサービス分析プラットフォームです。

Alteryx導入の豊富な実績を持つNTTデータは、最高位にあたるAlteryx Premiumパートナーとしてお客さまをご支援します。

導入時のプロフェッショナル支援など独自メニューを整備し、特定の業種によらない多くのお客さまに、Alteryxを活用したサービスの強化・拡充を提供します。

https://enterprise-aiiot.nttdata.com/service/alteryx

</div></details>

<details><summary>NTTデータとDataRobotについて </summary><div>
DataRobotは、包括的なAIライフサイクルプラットフォームです。

NTTデータはDataRobot社と戦略的資本業務提携を行い、経験豊富なデータサイエンティストがAI・データ活用を起点にお客様のビジネスにおける価値創出をご支援します。

https://enterprise-aiiot.nttdata.com/service/datarobot

</div></details>

<details><summary> NTTデータとInformaticaについて</summary><div>

データ連携や処理方式を専門領域として10年以上取り組んできたプロ集団であるNTTデータは、データマネジメント領域でグローバルでの高い評価を得ているInformatica社とパートナーシップを結び、サービス強化を推進しています。
https://enterprise-aiiot.nttdata.com/service/informatica

</div></details>

<details><summary>NTTデータとSnowflakeについて </summary><div>
NTTデータでは、Snowflake Inc.とソリューションパートナー契約を締結し、クラウド・データプラットフォーム「Snowflake」の導入・構築、および活用支援を開始しています。

NTTデータではこれまでも、独自ノウハウに基づき、ビッグデータ・AIなど領域に係る市場競争力のあるさまざまなソリューションパートナーとともにエコシステムを形成し、お客さまのビジネス変革を導いてきました。
Snowflakeは、これら先端テクノロジーとのエコシステムの形成に強みがあり、NTTデータはこれらを組み合わせることでお客さまに最適なインテグレーションをご提供いたします。

https://enterprise-aiiot.nttdata.com/service/snowflake