ML15minで話したオープンソース大規模言語モデルDolly

こちらの第77回 Machine Learning 15minutes! Broadcastで話した内容をまとめます。

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

使用した資料です。

https://sajpstorage.blob.core.windows.net/yayoi/ml_15min/Dolly%20-%20ML15min.pdf?fbclid=IwAR0XhwklTeHD9u2Nh-375K8Fr-GnM9laSiXK9w13ywC77OYyBFLHVUrQJa8

# LLM概況

これをまとめることが一番難易度高いかもしれません。時䛿まさにLLM時代！

- 2022/11 OpenAIがChatGPTを発表
- 2023/2 Meta AIがLLaMA(Large Language Model Meta AI)
- 2023/2 GoogleがBardを発表
- 2023/3 OpenAIがGPT-4を発表
- 2023/3 Azure OpenAI ServiceでChatGPTが利用可能に
- 2023/3 DatabricksがDollyを発表
- 2023/3 OpenAI CEOが岸田首相と面会
- 2023/4 アリババクラウドが通義千問（Tongyi Qianwen）を発表
- 2023/4 Amazon.comが生成AIサービス提供を発表
2023/4 DatabricksがDolly 2.0を発表
- 2023/4 パナソニック ホールディングスがグループ国内全社員を対象にChatGPTをベース
に構築したAIアシスタントサービス「PX-GPT」を利用開始したと発表
- 2023/5 MosaicML Foundationが商業利用可能なオープンソースLLM、MPTシリーズをリリース
- 2023/5 Google Bardが日本語に対応
- 2023/5 サイバーエージェント、国内最大級䛾日本語LLMを公開
- 2023/5 AI Shift、カスタマーサポートに特化した各企業専用LLM構築サービスを提供開始
- 2023/5 マイクロソフト䛿23日、ChatGPTにBingを搭載すると発表

# DatabricksにおけるLLM

LLM実装においては、以下のような課題があると考えています。

- **俊敏であること**: 皆様の競合もLLMに飛びついており、競合に遅れを取らないようにする必要があります — 価値の出るユースケースにクイックに取り組むにはどうすれば？
- **LLMを自分でカスタマイズ、コントロール、保護できること**: プロプライエタリなSaaSのLLMではサードパーティにデータを送信する必要があり、競合優位性を損なう可能性があります。あなた自身のデータを用いて、あなたが所有&コントロールするLLMをカスタマイズするには？
- **自分の既存データとLLMを接続できること**: 他の形態の機械学習と同じように、LLMはご自身のデータと密接に結び付けられたデータ戦略を必要とします — あなたの全ての既存データソースとLLMをうまく接続するには？

これらを解決するために、DatabricksではLLMを支援してまいります。

- **SQLにおけるLLM + ETLパイプライン + リアルタイムAPI**: インタラクティブSQL、Delta Live Tables、リアルタイムAPI経由での容易なLLMアクセス。もちろん、Python IDE/ノートブック
からLLMを活用できます！
- **オープンソースを筆頭とした全てのLLMのサポート**: プロプライエタリSaaSの LLMとオープンソースLLMのサポート。それぞれのユースケースにおける品質、コントロール、カスタマイズ性の適切なバランスを見つけ出すためのオープンソースLLMの容易なトレーニングとファインチューニング。
- **レイクハウスにおける統合**: レイクハウスにおける企業データとのセキュアなインテグレーション。他のベンダーやサービスにデータをコピーする必要はありません。モデルサービス、特徴量ストア、MLOps(LLMOps)、データモニタリングとの統合。

## AI Functions

LLMを通じて非構造化テキストから洞察を得るためのSQLやETLパイプラインの記述を可能にします。

![Screenshot 2023-05-29 at 8.50.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/0605d3fa-d986-47d0-e940-ece2e3bacbb2.png)

https://qiita.com/taka_yayoi/items/fd4d4ba4cd9b01572a38

## MLflowのエンハンス

大幅にLLMサポートを拡大しています。

- 新たなフレーバーのサポート
    - Hugging Face Transformers
    - OpenAI API
LangChain
- アーティファクトの並列ダウンロードのサポート

https://qiita.com/taka_yayoi/items/431fa69430c5c6a5e741

# Dolly 2.0

小規模、かつ、お客様自身のデータセットで大規模モデルをどのようにチューニングするのかを示すために我々はDollyを開発しました。

- お客様は**クローズドソースSaaSのLLMの制限なしに**高品質なLLMへのアクセスを必要としています。
- ご自身の要件に応じてオープンソースモデルをチューニングし、**あなたのデータがどこでどのように処理されるのかに関して完全にコントロール**できます。
- 高品質な生成型LLMのトレーニングを**シンプル、安価、高速**にします。**GPUのデータセンターやPhDのチームを必要とすべきではありません。**

Dolly 2.0は[EleutherAI Pythia 12B](https://huggingface.co/EleutherAI/pythia-12b)に[databricks-dolly-15k](https://huggingface.co/datasets/databricks/databricks-dolly-15k)を用いてファイチューニングしたものです。

## Dolly 2.0で何がNewなのか？

- DatabricksではDollyの次バージョンを導入しました - [Dolly 2.0](https://www.databricks.com/blog/2023/04/12/dolly-first-open-commercially-viable-instruction-tuned-llm)
- Dolly 2.0は商用利用にライセンスされ、人が作成したデータセットを用いてファインチューニングされた、世界初のオープンソースの指示準拠LLMです。
- Dolly 2.0は人が作成したプロンプトとレスポンスデータセット `Databricks-dolly-15k` を用いてトレーニングされており、このデータセットもオープンソース化されています。
- Dolly 2.0によって、すべての企業は商用のためにパワフルな言語モデルの所有、オペレーション、カスタマイズが可能となります。
トレーニングコードは[こちら](https://huggingface.co/databricks/dolly-v2-12b)のノートブックでオープンソース化されています。
- [こちら](https://huggingface.co/databricks/dolly-v2-12b)からDolly 2.0モデルの重みやデータセットをダウンロードできます。
- 数千ドルと数時間を費やし、人間が生成した15KのQ&Aデータセットで12Bパラメータのオープンソースモデル(EleutherAIのPythia)をファインチューニングして、Dolly 2.0が構築されました。
- Dollyは小規模なベースモデルをターゲットトレーニングセットでファインチューニングすることで最先端の成果を生み出せることを示しています。 
- Dollyは最大のプロプライエタリLLMより10倍小さいものです — これにはコスト、品質、スピードのトレードオフにインパクトをもたらす可能性があります。
- Dollyは、自分のプロプライエタリなデータをサードパーティに共有せずに、自分でモデルを所有し、自分のデータでトレーニングできるので、すべてをコントロール下に置くことができます。
- Dollyの構築に用いられた技術は、特定のユースケースにおいて人間を上回る成果を生み出すためにも活用されています。

# Q&A botソリューションアクセラレータ

後半にご紹介したQ&A botに関する記事です。
https://qiita.com/taka_yayoi/items/447ab95af2b8493a04dd

実際にノートブックをウォークスルーしました。

https://qiita.com/taka_yayoi/items/c8c612b18ebc9f5cae8c

6月のIEEEの講演会でもDollyについて話します。

**IEEE Kansai Section 第119回　技術講演会**

https://docs.google.com/forms/d/e/1FAIpQLSdnpbTjFTNJpyNFnzEW6xlVDjbIjXs45MerNVmzyStfGPNl5Q/viewform?fbclid=IwAR2L21Fg8r1yfL8N1ZDOcXzombg7NmW9dnafE619fB3QfrvlZsOFQkmvaZo

こちらも是非ご参加ください！

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

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


### Databricks無料トライアル

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