学者・ぷゆ大型モデルで簡単に遊べる楽しいデモ

大規模モデルと InternLM モデルの紹介

人工知能の分野では、膨大な計算能力とパラメータ規模を備えた膨大な数のパラメータとモデルが存在します

  • 大量のデータをトレーニングに活用する
  • 数十億、場合によっては数千億のパラメータ
  • さまざまな作業で驚異的なパフォーマンスを発揮するモデル

InternLM モデルのフルリンク オープンソース

  • InternLM は、オープンソースの軽量トレーニング フレームワークです。
  • Lagent は、大規模な Oracle モデルをベースにした軽量のオープン ソース エージェント フレームワークであり、ユーザーは大規模な Oracle モデルを複数のタイプのエージェントにすばやく変換できます。

InternLM-Chat-7B インテリジェント対話デモ

モデル紹介

InternLM は、単一のコード ベースで、数千の GPU を備えた大規模クラスターでの事前トレーニングと単一 GPU での微調整をサポートしながら、優れたパフォーマンスの最適化を実現します。1024 GPU でトレーニングする場合、InternLM は 90% の加速効率を達成できます。

InternLM-7Bには、70億人の農民を対象とした基本モデルと、実際のシナリオに合わせた対話モデルが含まれており、以下のような特徴を持っています。

  • 何兆もの高品質トークンをトレーニングに利用し、強力な知識ベースを構築します
  • 8K トークンのコンテキスト ウィンドウの長さをサポートし、入力シーケンスを長くし、推論機能を強化します。

モデルのデプロイメント

環境でデモを実行するために必要な依存関係をインストールします。

# 升级pip
python -m pip install --upgrade pip
pip install modelscope==1.9.5
pip install transformers==4.35.2
pip install streamlit==1.24.0
pip install sentencepiece==0.1.99
pip install accelerate==0.24.1

モデルのダウンロード

import torch
from modelscope import snapshot_download, AutoModel, AutoTokenizer
import os
model_dir = snapshot_download('Shanghai_AI_Laboratory/internlm-chat-7b', cache_dir='/root/model', revision='v1.0.3')

まずコードのクローンを作成し、/root パスの下に新しいコード ディレクトリを作成してから、パスを切り替えてコードのクローンを作成します。

cd /root/code
git clone https://gitee.com/internlm/InternLM.git

ディレクトリに新しい cli_demo.py ファイルを作成し、次のコードを入力します。

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM


model_name_or_path = "/root/model/Shanghai_AI_Laboratory/internlm-chat-7b"

tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(model_name_or_path, trust_remote_code=True, torch_dtype=torch.bfloat16, device_map='auto')
model = model.eval()

system_prompt = """You are an AI assistant whose name is InternLM (书生·浦语).
- InternLM (书生·浦语) is a conversational language model that is developed by Shanghai AI Laboratory (上海人工智能实验室). It is designed to be helpful, honest, and harmless.
- InternLM (书生·浦语) can understand and communicate fluently in the language chosen by the user such as English and 中文.
"""

messages = [(system_prompt, '')]

print("=============Welcome to InternLM chatbot, type 'exit' to exit.=============")

while True:
    input_text = input("User  >>> ")
    input_text.replace(' ', '')
    if input_text == "exit":
        break
    response, history = model.chat(tokenizer, input_text, history=messages)
    messages.append((input_text, response))
    print(f"robot >>> {
      
      response}")

ここに画像の説明を挿入します
ここに画像の説明を挿入します

webDemo の実行

vscode でポートを直接転送できます

streamlit run web_demo.py --server.address 127.0.0.1 --server.port 6006

ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します

Lagent エージェント ツールの呼び出しデモ

ラジェントの紹介

Lagent は、大規模な Oracle モデルに基づいた軽量のオープン ソース エージェント フレームワークです。ユーザーは、大規模な言語モデルを複数の種類のエージェントにすばやく変換できます。また、大規模な言語モデルを強化し、
**大胆なスタイル**
最初に切り替えるための一般的なツールも提供します。/root/code へのパス、lagent リポジトリのクローンを作成し、 pip install -e を通じて Lagent をインストールします。

cd /root/code
git clone https://gitee.com/internlm/lagent.git
cd /root/code/lagent
git checkout 511b03889010c4811b1701abb153e02b8e94fb5e # 尽量保证和教程commit版本一致
pip install -e . # 源码安装

ここに画像の説明を挿入しますコードを実行する

streamlit run /root/code/lagent/examples/react_web_demo.py --server.address 127.0.0.1 --server.port 6006

ここに画像の説明を挿入します
ここに画像の説明を挿入します

Puyu・Lingbi グラフィックとテキスト作成の理解デモ

  • ユーザー向けに写真とテキストを使用した特別な記事を作成する
    ここに画像の説明を挿入します

ここに画像の説明を挿入します

共通の環境構成

  • pip ソースの変更 pip のデフォルトのミラー ソースを設定し、pip を最新バージョンにアップグレードして構成します
python -m pip install --upgrade pip
pip config set global.index-url 镜像源
  • condaのクイックソース変更
cat <<'EOF' > ~/.condarc

モデルのダウンロード

  • Hugging Face をダウンロードし、 Hugging Face によって公式に提供されている
    Huggingface-cli コマンド ライン ツールを使用します。依存関係をインストールします。
pip install -U huggingface_hub
huggingface-cli download --resume-download internlm/internlm-chat-7b --local-dir your_path
  • OpenXLab は、モデル ウェアハウスのアドレス、ダウンロードするファイルの名前、ダウンロードするファイルの場所などを指定することで、モデル重みファイルを直接ダウンロードできます。Python スクリプトを使用してモデルをダウンロードするには、まず依存関係をインストールする必要があります
pip instgall -U openxlab
from openxlab.model import download
download(model_repo='OpenLMLab/InternLM-7b',model_name='InternLM-7b',output='your local path')
  • Modelscope の snapshot_download 関数を使用してモデルをダウンロードします。最初のパラメータはモデル名で、パラメータcache_dir はモデルのダウンロード パスです。
pip install modelscope
pip install transformers
import torch
from modelscope import snapshot_download,AutoModel,AutoTokenizer
import os 
model_dir = snapshot_download('Shanghai_AI_Laboratory/internLM-chat-7b',cache_dir='your path',revision='master')
HF_ENDPOINT=https://hf-mirror.com python down_pth.py

ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/shengweiit/article/details/135423659