昨日に引き続き、NTです!
実は今回は2日連続でしたので、概要説明と実装で分けてみました。
サクッとクラウドサービスを使ってLLM(大規模言語モデル)を構築してみようと思います。
※当初大きめのLLMかつ、EC2上で実装しようと思ったのですが、
誰でも簡単にできるように今回は軽量モデルを使ってみます!
そもそもLLMというのはChatGPTで有名になりましたが、
大量のテキストデータを使ってトレーニングした自然言語処理モデルのことを指します。
この「トレーニング=学習」というのが機械学習においてとても大事なことで、
食べさせるデータの質も大事ですがどれだけの量を学習させるかがLLMの性能に関わってきます。
ChatGPTでも使用されているGPT-3でさえも、約45TBのデータを用いて学習を行ったと言われています。
途方も無く時間がかかりそうですが、GPUなどの高速演算ができるチップを使用して学習を行っています。
今回サクっと構築してみたLLM環境です。
クラウドサービス:Google Colaboratory
LLMモデル:Starling-LM-7B-alpha
紹介ページ:https://weel.co.jp/media/starling-lm-7b-alpha
モデル:https://huggingface.co/TheBloke/Starling-LM-7B-alpha-GGUF
※今回は1番重めのQ8_0(starling-lm-7b-alpha.Q8_0.gguf)を使用してます。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
!CMAKE_ARGS="-DLLAMA_CUBLAS=on" pip install llama-cpp-python !wget https://huggingface.co/TheBloke/Starling-LM-7B-alpha-GGUF/resolve/main/starling-lm-7b-alpha.Q8_0.gguf from llama_cpp import Llama import pprint llm = Llama(model_path="starling-lm-7b-alpha.Q8_0.gguf") prompt = "What can we do with AI?" single_turn_prompt = f"GPT4 Correct User: {prompt}<|end_of_turn|>GPT4 Correct Assistant:" response_text = llm(single_turn_prompt) print("Response:", response_text['choices'][0]['text']) pprint.pprint(response_text) |
質問:「AIで何ができるか?(What can we do with AI?)」
こちらについての返答は以下の通りでした。
There are numerous applications and potential uses for AI, including:
- Natural Language Processing (NLP): AI can be used to understand, interpret, and generate human language, enabling tasks such as translation, sentiment analysis, summarization, and chatbots.
- Image and Video Analysis: AI can analyze and process visual data, leading to applications in facial recognition, object detection, image generation, and video summarization.
- Recommender Systems: AI can be used to create personalized recommendations for users based on their preferences, interests, and behavior, as seen in online shopping platforms, streaming services,
AIには、以下のような数多くの用途や可能性がある:
- 自然言語処理(NLP): 翻訳、感情分析、要約、チャットボットなどのタスクを可能にする。
- 画像・映像解析: AIは視覚データを分析・処理することができ、顔認識、物体検出、画像生成、動画要約などのアプリケーションにつながる。
- レコメンダー・システム: AIは、オンラインショッピングプラットフォームやストリーミングサービスに見られるように、ユーザーの嗜好、興味、行動に基づいて、パーソナライズされた推薦を作成するために使用することができます、
何となくそれっぽい言葉を返して来てました。
外部へ繋げることなく、学習データのみから文章を作ったと思うとなかなか奥が深そうです。
LLMとプログラミング言語を繋げてプロンプトエンジニアみたいに言われてる方々がいますが、
私も今度時間があったらその辺も独学で遊んでみようかなと思いました。
当初予定してたAWSのEC2(仮想マシン技術)を用いて大きめのLLMを構築してみるというのは
またの機会にできたらと思ってます!
また今年のアドベントカレンダーに登場しそうな気もしますが、
今のうちネタ探ししておきます!