自分だけのAIチャットバディをデプロイ - HuggingFaceガイドを使用したQwenチャットモデルデプロイメント

さあ、テクノロジーに精通したあなた、人工知能の世界へのスリリングな冒険に備えてください！ここで私たちはちょっと足をつけるだけではありません。Qwenチャットモデルを使って深みに頭から飛び込んでいます。議題に上がっているのは、狐よりも賢いチャットボットを設定し、一流の秘密エージェントのようにプライバシーを尊重することです。興味が湧きましたか？それならば、生成AIとLLM（大規模言語モデル）を理解することから旅を始めましょう。

## 生成AI

[生成AI](https://www.alibabacloud.com/solutions/generative-ai?spm=a3c0i.7911826.6791778070.591.62d93870rUVuHs) は、テキスト、画像、音楽、またはその他のメディア形式で新しいコンテンツを作成することに焦点を当てた人工知能の一分野を指します。このタイプのAIは、特に生成モデルを活用し、大規模なデータセットのパターン、特徴、関係性を理解し、人間が作成したコンテンツと区別がつかない新しい出力を生成します。

### 生成モデルの種類


- **生成型敵対ネットワーク (GANs):** 2つのモデル（ジェネレータとディスクリミネータ）が同時に訓練されるニューラルネットワークアーキテクチャの一種です。ジェネレータは新しいデータインスタンスを作成し、ディスクリミネータはそれを評価します。このプロセスは、ますます説得力のある出力を生み出します。

- **変分オートエンコーダ (VAEs):** これらのモデルは入力データに似た新しいインスタンスを生成します。画像生成によく使用されます。

- **トランスフォーマー:** 元々はNLP（自然言語処理）のタスク用に設計されたトランスフォーマーモデル（例：GPT - 生成前訓練トランスフォーマー）は、一貫性があり文脈に適したテキストを生成することができます。これらは他のタイプのデータのための生成タスクにも適応されています。

### アプリケーション

- **コンテンツ制作:** 生成AIはオリジナルのアートワークを生み出したり、物語や記事を書いたり、音楽を作曲したり、ゲームやシミュレーションのための仮想環境を作成することができます。

- **データ増強:** 機械学習モデルのための追加トレーニングデータを生成し、その精度と堅牢性を向上させることができます。

- **パーソナライゼーション:** アルゴリズムは個々の好みに合わせたコンテンツを作り出すことができ、ユーザーエンゲージメントを向上させます。

- **薬物発見:** 生成モデルは、特定の病気に対して効果的である可能性のある新しい分子構造を提案することができます。

### 課題

- **品質管理:** 訓練データに存在するバイアスがない、品質基準を満たすコンテンツを生成することを保証すること。

- **計算要件:** 生成モデルの訓練には、しばしば大量の計算力と大きなデータセットが必要です。

- **解釈可能性:** これらのモデルがどのように決定を下し、出力を生成するかを理解することは困難であり、信頼性と信頼に影響を与えます。


生成AIは急速に進化を続け、機械が創造できる境界を拡大しています。これには、責任を持って管理する必要のある、興奮するような機会と課題の両方があります。

## LLM

![1](https://yqintl.alicdn.com/bc9692d5dcfb91d681d3fdb28b02794b569ae701.png)

大規模言語モデル（LLM）とは、何でしょうか？LLMはディープラーニング技術に基づく人工知能の一種で、人間の言語を理解し、生成し、それを使用できるよう設計されています。何百万、あるいは何十億ものパラメータから構成されているため、「大規模」と呼ばれ、幅広い言語のニュアンスやコンテキストを捉えることができます。

LLMは膨大なテキストデータで訓練され、データのシーケンス（文章など）を処理し、予測を行う際にシーケンスの異なる部分に注意を払うことができるトランスフォーマーニューラルネットワークのようなアーキテクチャを使用します。これにより、次のような自然言語処理（NLP）タスクに特に効果的です。

- **テキスト生成**：LLMは、与えられたプロンプトに基づいてエッセイを書いたり、詩を作ったり、コードを生成したりすることができます。

- **翻訳**：さまざまな言語間で高精度にテキストを翻訳することができます。

- **質問応答**：LLMはコンテキストを理解し情報を抽出することで、質問に答えることができます。

- **要約**：長い文書を簡潔な要約に凝縮することができます。

- **感情分析**：LLMは、レビューがポジティブかネガティブかを識別するなど、テキストの背後にある感情を判断することができます。

## なぜQwen？簡単な要約

チャットもでき、コンテンツも作成し、要約もでき、コードも生成するなど、プライバシーを尊重しつつ多機能なAIをお探しですか？さらに探す必要はありません。Qwenチャットモデルが、セキュアなAI駆動のインタラクションの砦としてあなたのデータセンターを変革します。

Qwenは平凡なチャットボットではありません。巨大な言語モデルに基づいて構築され、驚異の3兆トークンに及ぶ多言語データで訓練されています。このAIの驚異は、英語と中国語を精巧に理解し、人間のようなインタラクションのために微調整されています。

## Qwenをローカルでデプロイする理由

![2](https://yqintl.alicdn.com/5d2f324a4d8b9db51cbb31b1577682455c25fb37.png)

サーバー上でローカルにQwenをデプロイすることは、制御を取ることを意味します。会話、処理されるデータ、約束されたプライバシーがあなたの管理下にとどまるようにすることです。賢いチャットシステムを統合したいビジネス、AI研究に熱心な開発者、または会話型AIの限界を探求したい単なる愛好家であろうと、Qwenはあなたのための最適な選択です。

では、なぜこのLLMをローカルにホストしたいのでしょうか？その理由は3つの言葉に集約されます：制御、速度、プライバシー。あなたは自分のデータを身近に保ち、反応は瞬時に得られ、チャットボットが自分の秘密を公共サービスで喋り散らかしていないと安心できます。

### オープンソースとコミュニティ主導

AIの革新の精神は、オープンソースコミュニティによって増幅されています。この伝統を守り、[Qwenチャットモデル](https://github.com/QwenLM/Qwen) の完全なソースコードが、モデルのメカニズムを掘り下げたり、その開発に貢献したり、単に学習リソースとして使用したりすることに興味がある人のためにGitHubで簡単に利用できるようになっています。研究者であろうと開発者であろうとAI愛好家であろうと、 [Qwen](https://github.com/QwenLM/Qwen)でソースコードにアクセスすることができます。

## 始める前に：基本事項

この技術のオデッセイに出航する前に、全てが整っていることを確認しましょう：

- GPUカード搭載のLinuxサーバー – 速度が重要ですから。

- Python 3.6 以上 – プログラミングの魔法の杖。

- pip または Anaconda – 便利なパッケージマネージャー。

- Git（オプション） – リポジトリからの新鮮なコードが好きな方向け。

- NVIDIAドライバー、CUDA Toolkit、cuDNN – GPU加速のための三位一体。 

これら全てを揃えましたか？素晴らしい！それでは（比喩的に）手を汚しましょう。

## コンバセーションの作成：Pythonコードを実行する場所


![3](https://yqintl.alicdn.com/8caadb5b654401ecb4424272e55bad0d1c208ae9.png)

Visual Studio Codeの熱烈なファンであろうと、PyCharm愛用者であろうと、またはJupyter Notebooksのインタラクティブな魅力を楽しむ人であろうと、QwenとチャットするためのPythonコードは柔軟でIDEに依存しません。Pythonをサポートする環境があれば、AIチャットバディを生き生きとさせる準備は整っています。

**ここにプロのヒントがあります**：VSCodeを使用している場合は、組み込みのターミナルを活用してPythonスクリプトをシームレスに実行できます。コマンドパレット（Ctrl+Shift+P）を開き、Python: Run Python File in Terminalとタイプし、VSCodeに重い作業を任せましょう。Qwenの返答が統合されたターミナルに表示されます。

PyCharmを好む皆さんにも同様にスムーズにコードを実行できます。スクリプトを右クリックして「Run 'script_name.py'」を選択し、IDEがQwenとの会話を実行する様子を見てください。PyCharmの強力なツールとデバッグ機能は、より複雑な対話を開発するのに最適な選択です。

そこで終わりではありません - Pythonを歓迎するIDEやコードエディターは星の数ほどあります。あなたのワークフローに最適なものを選び、チャットを始めましょう！

## ショップの設定：環境

まず最初に、Linuxサーバーを準備しましょう。パッケージリストが朝のそよ風のように新鮮であり、Pythonとpipがその魔法を発揮する準備ができていることを確認してください：


```bash
sudo apt update
sudo apt install python3 python3-pip
```

では、秘密の材料である仮想環境についてです。これは、誰かに片付けるよう怒られることなく、散らかしても大丈夫な個人的な作業スペースのようなものです：

```bash
pip install --user virtualenv
virtualenv qwen_env
source qwen_env/bin/activate
```

## ツールボックス：依存関係のインストール

Qwenを活気づける前に、いくつかのツールが必要になります。これを、ミシュランスターの食事を用意するための材料集めだと考えてください：

```bash
pip install torch torchvision torchaudio
pip install transformers
```

PyTorchはCUDAバージョンに合わせることを忘れないでください - これは、上質なワインを正しいチーズとペアリングするようなものです。

## Qwenの覚醒：モデルの初期化

### 同じ言語を話す：トークナイザー

言葉は単なる言葉に過ぎませんが、Qwenがそれに意味を与えるまでは。トークナイザーがそこで活躍し、あなたの思索をQwenが処理できるものに変えます：

```python
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen-7B-Chat", trust_remote_code=True)
```

### 操作の中核：モデル

Qwenの心は広大で、あなたの会話で満たされる準備ができています。眠れる巨人を起こす方法はこちらです：

```python
from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen-7B-Chat", device_map="auto", trust_remote_code=True).eval()
```

あなたのハードウェアに応じて、BF16やFP16のような異なる精度モードを選ぶかもしれません。これは、完璧なピッチのためにギターをチューニングするようなものです。


## Qwenとの連続的な対話

ここに来て心拍数が上がる部分です - Qwenとチャットする時間です！しかし、一対一のやり取りに夢中になる前に、重要なことについて話しましょう：会話の継続性の芸術です。

以下は、期待できる応酬の一例です：


```
response, history = model.chat(tokenizer, "Greetings, Qwen! How's life in the digital realm?", history=None)
print("Qwen:", response)
```

最初の一手として、私たちは会話の歴史を持たずにQwenに挨拶しています - つまり、history=Noneを設定することで、私たちはQwenに「これが私たちのチャットの始まりだ」と伝えています。現在のプロンプトだけを頼りにしたQwenは、新しいやり取りの新鮮さで応答します。

さあ、コンテキストの魔法がどのように広がるかを見てみましょう：

```
response, history = model.chat(tokenizer, "Any thoughts on the meaning of life, the universe, and everything?", history=history)
print("Qwen:", response)
```

今回のやり取りでは、前回の交換から受け取った履歴を引き継ぎます。これは、今まで話したことの全てを記録した日記をQwenに手渡すようなものです。この歴史的なコンテキストを持って、Qwenは単に機知に富んだり深みのある応答をするだけでなく、私たちの継続している会話にも繋がる応答を作り出すことができます。これは、あなたを知る賢い友人とのチャットと、見知らぬ人に質問をすることの違いです。

- **'履歴'の重要性**: 履歴を私たちの会話の真珠を繋ぐ糸だと考えてください。それがなければ、Qwenからの各応答は美しいけれども孤立した真珠となるでしょう。履歴があることで、各真珠は前のものにしっかりと結ばれ、美しく一貫した対話の連なりを作り出します。会話においてコンテキストは王様であり、履歴はそのコンテキストの伝達者です。

- **会話を流れるように保つ:** 人間のやり取りと同様に、過去のコメント、ジョーク、または話に言及することで魅力的なやり取りができます。会話の履歴を武装したQwenは、過去の交換を思い出して参照することができ、引き込まれるような継続的なチャットを可能にします。

## 準備はいいですか、始めましょう、会話！

履歴パラメーターを使用したコンテキストの重要性についてプロになった今、デモスクリプトを起動して、Qwenとの魅力的なチャットの準備をしてください。宇宙について議論するのか、デジタルクッキーの最高のレシピについて話すのかどうかにかかわらず、Qwenは経験豊富な会話者のすべての優雅さであなたの会話のリードに従う準備ができています。

また、そのスクリプトを起動して会話を始めることができます。パンドラの箱を開けるようなものですが、混乱ではなく楽しいやり取りが得られます：

```bash
python qwen_chat.py
```

さて、会話の世界を制覇する準備ができたあなた自身のAIチャットバディがここにいます。

![4](https://yqintl.alicdn.com/529ec89220cce3a95a32a99cc668c25d9d57687b.png)



## 総括


おめでとうございます！AI導入の難航する海を、熟練の船長のように見事に航行しました。Qwenは今やあなたのサーバーに快適に収まり、あなたのデータは家のように安全です。

Qwenの能力を探求し、その開発に貢献し、AI会話の進展に情熱を傾ける同じ志を持つコミュニティに参加しましょう。

それでは、光り輝く新しいAIの相棒との壮大な対話に出かけましょう。そして、誰が知るでしょうか？もしかするとQwenはそのデジタルの叡智であなたを驚かせるかもしれません。

<hr />

本文はAIによって翻訳されました。ここで表明されている意見は参考までにお読みいただくものであり、必ずしもAlibaba Cloudの公式の意見を代表するものではありません。原文は[こちら](https://www.alibabacloud.com/blog/deploy-your-own-ai-chat-buddy---the-qwen-chat-model-deployment-with-hugging-face-guide_600859?utm_content=g_1000390363)です。