生成AIでデータ分析やコーディングはどう変わるのか？

こちらでお話しした内容です。

https://machine-learning15minutes.connpass.com/event/291765/

# 自己紹介とイベント案内

## Databricks DATA+AI WORLD TOUR Tokyo 

Databricks Japan最大のイベント！

**日時:** 2023年9月14日（木）
**場所:** ANA インターコンチネンタルホテル東京
**URL:** https://dbricks.co/3QOCKGs
**イベント概要:** 
データブリックスジャパン、最大の年次イベントです！お客様、弊社社長によるキーノートスピーチ、Databricksハンズオン、テクニカルブレークアウトセッションなどを対面で実施します！生成AIの話題も多数カバーしています！

## JEDAI勉強会 第4回: 生成AIとは何か？

**日時:** 2023年9月27日（水）
**URL:** https://jedai.connpass.com/event/293793/
**イベント概要** 田辺三菱製薬様にご登壇いただき、生成AI活用の取り組みについてお話しいただきます。

# 生成AIのユースケース

知性のある会話、クリエイティブなテキスト、コード生成と言ったシーンで活用されています。

![Screenshot 2023-08-26 at 17.37.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/c777404a-1be5-0f9c-d27f-bfcdb54cf6bf.png)

- コンテンツ生成
- 質問/回答
- バーチャルアシスタント 
- コンテンツのパーソナライゼーション
- 言語スタイルの転換
- ストーリーテリング、詩、クリエイティブなライティング
- 翻訳
- **コード生成 / オートコンプリート**

コード生成や開発者の生産性向上の目的での活用が進んでいます。

- コード補完、定型コードの生成
- エラー検知やデバッグ
- 言語間でのコード変換
- コードのドキュメントの記述
- 自動テスト
- 自然言語でコード生成
- コードを学習するためのバーチャル
- コードアシスタント

# 生成AIのデータ分析やコーディングへの影響

学習曲線の改善、生産性の改善が見込まれます。

- **自然言語による学習障壁の低減** : 自然言語を用いてコーディングを行えるようになることで、様々なデータ分析やコーディングの取り組みが容易なものとなります。
自然言語から生成されたコードを確認することで理解が深まります。
- **作業効率の改善** : エラーに遭遇したりコードの記述方法が不明な場合であっても、
ドキュメントを首っ引きで調べるのではなく、生成AIから即座に修正案を提案してもらうことができ、効率的に作業を進めることができます。

# English SDK for Apache Spark

![Screenshot 2023-08-26 at 17.39.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/7c1a44be-bcfb-b9af-c20f-2da408d46f85.png)

自然言語でApache Sparkを操作できるSDKが公開されています。

https://github.com/databrickslabs/pyspark-ai

OpenAIのコンピューターサイエンティストであるA. Karpathyはこう述べました。

> もっともホットな新たなプログラミング言語は**英語**です

これまでは、PythonやSQLを用いて技術者のみがプログラミングを行っていました。しかし、LLMの台頭によって自然言語を用いたプログラミングが可能となっています。

![Screenshot 2023-08-26 at 17.42.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/10b4119b-b2bf-6ed9-bf24-ea5e3dd2962e.png)

英語(日本語)は新たなプログラミング言語です。

生成AIは新たなコンパイラです。

Pythonは新たなバイトコードです。

English SDK for Apache Sparkを用いることで、自然言語によるデータの変換、可視化、検証などが可能になります。
![Screenshot 2023-08-26 at 17.42.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/3e212310-d00a-a80d-5b69-701ace6d7897.png)

このように、自然言語を用いたデータ操作が可能となっています。
![Screenshot 2023-08-26 at 17.44.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/fd46bacf-bdbf-dd05-e7bd-a1a0b0e92e94.png)

## 参考資料

- [Apache Sparkの新たなプログラミング言語としての英語のご紹介](https://qiita.com/taka_yayoi/items/e5f58ac7f80064627a30)
- [DatabricksでEnglish API for Sparkを試してみる](https://qiita.com/taka_yayoi/items/dafc37d11a01fe88aae7)
- [English SDK for Apache Sparkで日本語を使って頑張ってみる](https://qiita.com/taka_yayoi/items/098e5d72dde79a3f07a6)
- [English SDK for Sparkのサンプルノートブックのウォークスルー](https://qiita.com/taka_yayoi/items/1880893080458ed0e6ae)

# Databricksアシスタント(LakehouseIQ)

よくある間違いは、ソフトウェアの問題すべてをLLMで解決しようとすることです。
![Screenshot 2023-08-26 at 17.45.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/91322266-596b-7d2e-ecb6-b17ca7641a83.png)

これ自体は問題ではありませんが、単にLLMアシスタントを追加するだけではうまく行きません。

![Screenshot 2023-08-26 at 17.48.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/fe8df4f8-5760-eba4-f74b-8965d299b133.png)

すべての企業では、自分の専門用語、データ、組織構造を持っています。固有の専門用語や同じ`四半期`でも会社によって定義が異なります。これらの違いを考慮せずにLLMに問い合わせを行っても、期待する結果は得られません。

> 前の `quarter` において `Europe` における `DBU` はいくらか

このようなクエリーを行った場合、例えば、Databricksの四半期は2月スタートですし、ヨーロッパの地域の区切り方も会社によって異なります。さらにはDBU(Databricks Unit)などは完全に社内固有の単語です。

このような問題を解決するために、我々はLakehouseIQを発表しました。これは、Databricksで活用されているデータ、ノートブックなどから企業固有の文脈を学習し、適切に動作するAIアシスタントです。
![Screenshot 2023-08-26 at 17.49.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/a571d06e-a470-81f9-18cd-fe92237b57e7.png)

まだ、こちらは正式提供されていませんが、先行的にDatabricksアシスタントが利用できるようになっています。こちらはノートブックで記述されているロジックやエラーなどから文脈を理解し、適切なアドバイスを行うAIアシスタントです。
![Screenshot 2023-08-26 at 17.51.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/01d3eb89-1f38-a5fa-820e-98d76a954164.png)

プログラミングの過程でアシスタントに問い合わせを行いアドバイスをもらうことができます。
![Screenshot 2023-08-26 at 17.51.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/6c799acd-c182-a98b-3df7-9cc064cd73ae.png)

## 参考資料

- [コンテキストを理解するAIアシスタント、Databricksアシスタントのご紹介](https://qiita.com/taka_yayoi/items/855e15def68150bdea55)
- [Databricksアシスタントのサンプルタスク](https://qiita.com/taka_yayoi/items/edf92ee3b738751b819b)
- [DatabricksアシスタントのFAQ](https://qiita.com/taka_yayoi/items/30357095822cd0c0ecb1)
- [Databricksアシスタントを試してオッサンびっくり](https://qiita.com/taka_yayoi/items/810bcdf589a33ee8c828)
- [Databricksアシスタントを日本語で試してオッサン再びびっくり](https://qiita.com/taka_yayoi/items/db3e9d976f9f7dbec86e)

# 今後の展望

コーディングやデータ分析の領域での自然言語の活用が進むと見ています。

- **自然言語による学習障壁の低減** : プログラマだけではなくビジネスユーザーによるデータ分析、ロジック開発が進みます。
- **作業効率の改善** : 複雑なロジックの開発スピードが改善し、企業における高度な機能の活用が促進し、さらなるビジネス価値創出につながります。

### Databricksクイックスタートガイド

[Databricksクイックスタートガイド](https://www.amazon.co.jp/dp/B09V1YXFVQ/)


### Databricks無料トライアル

[Databricks無料トライアル](https://databricks.com/jp/try-databricks)