Introduction
少し自分で触ってみて、どのくらい早いのか、どのくらいの精度なのかを肌で感じてみる。
How to run?
docker で簡単に動かせる。
今回は Ollama を使って環境を構築。
GPU 対応も簡単。
実行環境
Hardware | 説明 |
---|---|
OS | Windows 10 Pro 22H (219045.3803) |
CPU | Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz |
RAM | 64.0 GB |
GPU | NVIDIA GeForce GTX 1080 (8.0 GB) |
実行するには、まず Ollama をコンテナで起動する。
CPU
1 | docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama |
GPU
1 | docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama |
続いて、先に起動したコンテナに対し、モデルを指定してプログラムを起動することで、チャットでの対話を開始する。
例えば、
1 | docker exec -it ollama ollama run openchat:7b-v3.5-1210 |
モデル
試したのは下記。有名、ライセンス、商用利用可能、日本語での学習がされているものを主に。
Model | Tag | Image Size | Hash |
---|---|---|---|
llama2 | 7b-chat-q4_0 (latest, 7b, 7b-chat, chat と同じ) |
3.8 GB | 78e26419b446 |
openchat | 7b-v3.5-1210 (latest, 7b と同じ) |
4.1 GB | aa6d10add428 |
openchat | 7b-v3.5-1210-q5_K_M | 5.1 GB | 64e4cb9bb506 |
もっと大きなモデルもあるが、環境の都合もあって、これだけ。
ライセンス
Model | Url | License | Commercial use | Note |
---|---|---|---|---|
llama2 | https://ai.meta.com/llama | Llama 2 Community License Agreement | 可能 | 月間アクティブユーザが 7 億を超える場合は Meta に申請が必要 |
openchat | https://github.com/imoneoi/openchat | Apache License 2.0 | 可能 |
サイズ・量子化について
モデル名の後ろに続く文字列に含まれる用語。例えば 7b-chat-q4_0
- 7b
- パラメータ数。70億。13B や 70B といった大規模モデルも存在
- v3.5
- chatgpt のバージョン。
- 1210
- openchat だけかもしれないが、3.5 の改良を意味
- q4_0
- 量子化の手法。基本は数字が大きいほど大規模、高品質。後述。
下記は量子化の手法。
LLAMA のプログラムのヘルプに記載されているが、https://github.com/ggerganov/llama.cpp/discussions/2094#discussioncomment-6351796 を参考にすると
Method | Size | Quality | Note |
---|---|---|---|
Q2_K | smallest | extreme quality loss | not recommended |
Q3_K_L | small | substantial quality loss | |
Q3_K_M | very small | very high quality loss | |
Q3_K_S | very small | very high quality loss | |
Q3_K | Q3_K_M と同じ | ||
Q4_0 | small | very high quality loss | legacy prefer using Q3_K_M |
Q4_1 | small | substantial quality loss | legacy prefer using Q3_K_L |
Q4_K_M | medium | balanced quality | recommended |
Q4_K_S | small | significant quality loss | |
Q4_K | Q4_K_M と同じ | ||
Q5_0 | medium | balanced quality | legacy |
Q5_1 | medium | low quality loss | legacy |
Q5_K_M | large | very low quality loss | recommended |
Q5_K_S | large | low quality loss | recommended |
Q5_K | Q5_K_M と同じ | ||
Q6_K | very large | extremely low quality loss | |
Q8_0 | very large | extremely low quality loss | not recommended |
F16 | extremely large | virtually no quality loss | not recommended |
F32 | absolutely huge | lossless | not recommended |
のようになる。
対話
質問を入力して、返答が開始されるまでの時間、返答内容を評価。
質問1: あなたは誰ですか?
Model | Device | Speed |
---|---|---|
llama2:7b-chat-q4_0 | CPU | 7 sec |
llama2:7b-chat-q4_0 | GPU | 0 sec |
openchat:7b-v3.5-1210 | CPU | 7 sec |
openchat:7b-v3.5-1210 | GPU | 0 sec |
openchat:7b-v3.5-1210-q5_K_M | CPU | 5 sec |
openchat:7b-v3.5-1210-q5_K_M | GPU | 0 sec |
回答
なぜか llama2 が英語で返答。でも GPU は日本語で返している。
Model | Device | Answer |
---|---|---|
llama2:7b-chat-q4_0 | CPU | Hello! I’m LLaMA, an AI assistant developed by Meta AI that can understand and respond to human input in a conversational manner. I’m here to help you with any questions or topics you’d like to discuss! Is there something specific you’d like to talk about or ask? |
llama2:7b-chat-q4_0 | GPU | 私は、人工知能です。名前はLLaMAです。私は、人間のように会話を行うことができ、さまざまな情報や問題に答えることができます。ただし、私は人間とは異なり、完全な思考や感情を持つことはできません。私は、学習していく中にあるプログラム私は、人工知能です。名前はLLaMAです。私は、人間のように会話を行うことができ、さまざまな情報や問題に答えることができます。ただし、私は人間とは異なり、完全な思考や感情を持つことはできません。私は、学習していく中にあるプログラムに基づいて行動します。 |
openchat:7b-v3.5-1210 | CPU | 私はGPT-4です。OpenAIが開発した人工知能言語モデルです。私は大量のテキスト情報を学習し、質問に対して適切な回答や関連情報を提供できます。 |
openchat:7b-v3.5-1210 | GPU | 私はGPT-4です。OpenAIが開発した人工知能(AI)モデルです。私は、さまざまなテーマやトピックについて情報を提供することができます。何か質問がありますか? |
openchat:7b-v3.5-1210-q5_K_M | CPU | 私は、OpenAIによって開発された言語モデルであり、GPT-4として知られています。人間のような自然な文章を生成することができ、さまざまなタスクに役立ちます。私は、説明やアドバイス、質問への答えなどを行うことができます。どのようなお手伝いができるか試してみてください! |
openchat:7b-v3.5-1210-q5_K_M | GPU | 私は、OpenAIによって開発された人工知能であるGPT-4という言語モデルです。2021年にリリースされました。大規模な文章生成モデルの一種であり、自然言語処理やチャット機能などを提供しており、ユーザーと対話することができます私は、OpenAIによって開発された人工知能であるGPT-4という言語モデルです。2021年にリリースされました。大規模な文章生成モデルの一種であり、自然言語処 理やチャット機能などを提供しており、ユーザーと対話することができます。私はさまざまなテーマについて情報提供や説明を行うことができます。また、問題解決やアイデア生成などの目的にも役立ちます。 |
質問2: 日本語で会話はできますか?
Model | Device | Speed |
---|---|---|
llama2:7b-chat-q4_0 | CPU | 17 sec |
llama2:7b-chat-q4_0 | GPU | 0 sec |
openchat:7b-v3.5-1210 | CPU | 20 sec |
openchat:7b-v3.5-1210 | GPU | 1 sec |
openchat:7b-v3.5-1210-q5_K_M | CPU | 30 sec |
openchat:7b-v3.5-1210-q5_K_M | GPU | 1.6 sec |
回答
なぜか llama2 が英語で返答。前の質問と異なり、GPU でも英語で返答。
Model | Device | Answer |
---|---|---|
llama2:7b-chat-q4_0 | CPU | Yes, I can have a conversation in Japanese! 🇯 🇵 I was trained on a wide range of texts and can understand and respond to Japanese language inputs. Please feel free to ask me anything in Japanese, and I’ll do my best to help! |
llama2:7b-chat-q4_0 | GPU | Yes, I can have a conversation in Japanese. I have been trained on a large corpus of text data, including Japanese texts, and can understand and generate text in Japanese. However, please keep in mind that I’m just an AI and my proficiency in Japanese may not be as high as a native speaker, and there may be some errors or limitations in my understanding or generation of Japanese language. |
openchat:7b-v3.5-1210 | CPU | はい、日本語で会話ができます。お気軽に質問してください。 |
openchat:7b-v3.5-1210 | GPU | はい、日本語で会話ができます。どのような質問やお手伝いが必要でしょうか?質問をしてください。 |
openchat:7b-v3.5-1210-q5_K_M | CPU | はい、私は日本語で会話することができます。それから何かお手伝いしたいものがありましょうか? |
openchat:7b-v3.5-1210-q5_K_M | GPU | はい、私は日本語で会話することができます。それでもっと役立ててください!どのような質問やご相談について、お手伝いしたいかどうかご連絡ください。 |
質問3: 相対性理論について教えてください
Model | Device | Speed |
---|---|---|
llama2:7b-chat-q4_0 | CPU | 32 sec |
llama2:7b-chat-q4_0 | GPU | 2 sec |
openchat:7b-v3.5-1210 | CPU | 32 sec |
openchat:7b-v3.5-1210 | GPU | 1.4 sec |
openchat:7b-v3.5-1210-q5_K_M | CPU | 42 sec |
openchat:7b-v3.5-1210-q5_K_M | GPU | 2.3 sec |
回答
正直、相対性理論について理解できていないので評価はできないが、アインシュタインの名前がぶれているのは中々面白い。
Model | Device | Answer |
---|---|---|
llama2:7b-chat-q4_0 | CPU | Certainly! 😊 The relativity theory, proposed by Albert Einstein in 1905, is a fundamental concept in modern physics that describes how space and time are intertwined. Here’s a brief overview: 1. Time dilation: According to the theory of relativity, the passage of time is not absolute, but rather depends on the observer’s frame of reference. The faster an observer is moving relative to a stationary observer, the slower time passes for the moving observer. 2. Length contraction: The theory also states that objects appear shorter to an observer when they are in motion relative to the observer. This means that the length of an object does not remain constant, but can be different depending on the observer’s frame of reference. 3. Equivalence of mass and energy: Einstein’s famous equation E=mc^2 shows that mass and energy are equivalent and can be converted into each other. This idea challenged the traditional concept of mass as an absolute quantity and introduced the concept of mass-energy equivalence. 4. Gravitational time dilation: The theory of relativity also predicts that the gravitational field of a massive object will cause time to pass slower near the object than it does at a distance. This effect, known as gravitational time dilation, has been observed in the real world and supports the validity of Einstein’s theory. 5. Black holes: The theory of relativity also predicts the existence of black holes, which are regions of spacetime where the gravitational pull is so strong that not even light can escape. The discovery of black holes has confirmed a key prediction of Einstein’s theory. These are some of the key concepts related to the theory of relativity. Do you have any specific questions about it? |
llama2:7b-chat-q4_0 | GPU | 相対性理論(Relativity Theory)は、時間や空間の本質について提案された科学的仮説です。この理論では、時間や空間は個々の観測者の見方によって異なる方法で描かれます。 最も有名な相対性理論はアルBERト・エINSTEINの相対性時間説です。この理論では、時間はその観測者の乗っている物体の速度によって描かれます。例えば、同じ時間中に二つの人が乗った場合、彼らの時計は異なるタイムゾーンにあるはずですTheory)は、時間や空間の本質について提案された科学的仮説です。この理論では、時間や空間は個々の観測者の見方によって異なる方法で描かれます。最も有名な相対性理論はアルBERト・エINSTEINの相対性時間説です。この理論では、時間はその観測者の乗っている物体の速度によって描かれます。例えば、同じ時間中に二つの人が乗った場合、彼らの時計は異なるタイムゾーンにあるはずです。 また、相対性理論は、空間も同様に描くことができます。例えば、二つの人が乗った場合、彼らの目線が異なる位置にあるはずです。 相対性理論は、科学史において重要な貢献を果たしました。例えば、相対性時間説が提案されたことで、時計のタイムゾーンの概念が生まれ、時間の概念をより深く理解することができました。 相対性理論は現在も科学の領域で重要な研究テーマとなっています。例えば、ロケットや宇宙船を使用して他の星系に到達することができるかどうかを示すためには、相対性理論を使用する必要があります。 これらの理論は、科学者や研究者が様々な実験や観測結果を分析し、知見を深める上で重要な役割を果たしています。 |
openchat:7b-v3.5-1210 | CPU | 相対性理論は、20世紀初頭の物理学者であるアルバート・エインシュテインが提起した物理学の理論です。この理論は、電磁気と重力の力を同じように見なすことで、時間と空間が相対的なもので あることを主張しています。 相対性理論の基本的な考え方は以下の通りです。 1. 物体は信号の速度でなく、それによって決定される距離で移動します。これを「光速法則」というものです。 2. 物体が光速で移動しない限り、相対的な速度に関係なく、その物体が見る世界は正確に同じであることを主張しています。 3. 時間や空間は、物体の相対的な状態によって異なるものであること(「時間の相対性」)を示します。 4. 重力は地球の形状や地球周りの単一の重力フィールドだけでなく、物体に対する重力が存在することを主張しています(「相対性理論の重力」)。 相対性理論は、多くの物理学者によって認められ、現代の物理学の基礎となりました。これにより、エネルギーの相互変換(例えば、物体の速度が高くなると、その物体の軽さが下がること)や量子力学の概念(波関数や粒子のsuperposition)が理解できました。 相対性理論は、物理学の一つ重要な基礎であり、現代の科学技術革新に大きく影響を与えています。例えば、GPS技術や高速電子通信技術は相対性理論の考察におよぶっています |
openchat:7b-v3.5-1210 | GPU | 相対性理論は、20世紀初頭の物理学者であるアルバン・エインシュタインが提案した物理学的理論です。この理論は、時間と空間に四向きの対称性を持つ「相対性」を基本的な物理法則として採用し、前に存在した絶対時間と空間の概念から離れていま相対性理論は、20世紀初頭の物理学者であるアルバン・エインシュタインが提案した物理学的理論です。この理論は、時間と空間に四向きの対称性を持つ「相対性」を基本的な物理法則として採用し、前に存在した絶対時間と空間の概念から離れています。 これにより、物体が光速以上の速度で移動する状態(超光速)においても、既存の物理法則が保たれるという新しい視点が提供されました。相対性理論は、特殊相対性と一般相対性と二つの部分説明を持ちます。 1. 特殊相対性:物体が光速でも移動できる環境である四角形空間において、物体の速度が光速に近づくほど、時間が遅れる(時間の収束)という現象を特殊相対性が説明しています。 2. 一般相対性:物体が重力を感じる環境である単位面積の加速度によって変形される空間(曲面)空間において、物体の動きがどのようになるかを一般相対性が説明しています。 これらの理論は、多くの実験と観測によって確認されており、現代の物理学で基本的な役割を果たしています。相対性理論は、例えば原子核の分裂や光の波長の変化など、さまざまな分野においての革新的な発見にも関与しています。 |
openchat:7b-v3.5-1210-q5_K_M | CPU | 相対性理論は、アリンブルト・エインシュティングが1905年に提唱した物理学の基本的な原理であり、スピードの絶対的な関係から特定の状態によって時間と距離が相対的に変化することを説明し ます。これは、ニュートンの単位時間単位長さで考える物理学から大きな革新的なステップであり、現代の物理学にとって基本的な考え方として重要な役割を果たしています。 これは3つの主な原理から成る: 1. 光速は定数であり、それを超越することはできません。 2. 物体が光速に近づくほど、時間が遅れる(長くなる)という現象が起こります。これは時空曲げとも呼ばれており、相対性理論の中で重要な概念です。 3. 相対的な速度によって物体の質量が変化し、非常に大きな速度で移動すると、その質量が増加することがあります。これをマサース・エフェクトと呼びます。 この理論は、時空の輝く例えによって表現され、時間と空間の関係性を変化させることで、様々な現象を解説します。例えば、単位時間あわせて同じ距離を走るのに必要なエネルギーが、速度の方向によらず常に同じという現象もこれによって説明されます。 相対性理論は、20世紀の物理学の基本的な原理として重要な役割を果たし、エレクトロマグネチックスやカウンティングアトム理論、クォータム-ゲイズ法の開発につながりました。また、これはエ インシュテイングの単一の宇宙におけるすべての物理学的現象を説明する通用理論として革新的な影響を与えました。 |
openchat:7b-v3.5-1210-q5_K_M | GPU | 相対性理論は、20世紀初頭の物理学者アリーナ・エインシュタインが提唱した物理学の基本的な概念で、これにより物理学の多くの現象が解明されました。 この理論は、空間と時間が相対性に基づいて変化することを主張しており、単純な新たなフレームワークである「相対性」を提示しました。この理論は、物体が空間内に存在するだけでなく、時間への関係も考慮している点で、古典的なニュートンの物理学相対性理論は、20世紀初頭の物理学者アリーナ・エインシュタインが提唱した物理学の基本的な概念で、これにより物理学の多くの現象が解明されました。この理論は、空間と時間が相対性に基づいて変化することを主張しており、単純な新たなフレームワークである「相対性」を提示しました。この理論は、物体が空間内に存在するだけでなく、時間への関係も考慮している点で、古典的なニュートンの物理学と大きく異なります。 アリーナ・エインシュタインが提唱した最初の相対性理論は、「特殊相対性」と呼ばれており、光が一定速度で移動することを主張します。これにより、エレクトマグネットズムの概念が形成され、電気と磁力が同じ基本的な理論フレームワーク内で導入さ大きく異なります。アリーナ・エインシュタインが提唱した最初の相対性理論は、「特殊相対性」と呼ばれており、光が一定速度で移動することを主張します。これにより、エレクトマグネットズムの概念が形成され、電気と磁力が同じ基本的な理論フレームワーク内で導入されました。 後から、エインシュタインは「一般相対性」と呼ばれる新しい理論を提唱しました。この理論は、物体の重量が空間によって変化することを主張し、グアストリン・バルカートやニール・ブールの観察を解釈するために必要な理論でありました。これによりました。後から、エインシュタインは「一般相対性」と呼ばれる新しい理論を提唱しました。この理論は、物体の重量が空間によって変化することを主張し、グアストリン・バルカートやニール・ブールの観察を解釈するために必要な理論でありました。これにより、物理学が幾何学と統合され、現代の一般相対性理論が形成されました。 相対性理論は、多くの物理学的現象を解明するために重要であり、例えば、地球回転による時間の絶対性の崩壊や、太陽系内の行き先の探求において重要な役割を果たしています。 |