【QwQ】Qwenベースの推論モデル登場!数学タスクでo1と徹底比較
2024/11/28、 Alibabaから新たなLLMが登場!
QwQは、AI推論機能の進化に焦点を当てた、Qwenチームによって開発された実験的研究モデルかつ未知の境界に深く向き合うことを目指したLLMです。QwQはまだ発展途上の研究モデルであり、特に数学やプログラミングの分野で顕著な成果を上げています。
- 数学やプログラミングの分野で好成績なベンチマーク
- Qwen2.5をベースにしたLLM
- 人と同じような推論プロセスを持つ
本記事では、QwQについて解説をして、google colaboratoryでの実装方法を紹介します。本記事を最後まで読めば、QwQの使い道や実装方法を理解できます。
ぜひ最後までご覧ください!
QwQの概要
QwQは未知の境界に深く向き合うことを目指したLLMであり、AI推論機能の向上を目的に設計されています。
哲学的な視点を取り入れ、問題に対しての本質を考えながら、答えを出す前に自身の仮定や思考回路を見直す姿勢が特徴です。
QwQはまだ研究段階のモデルではありますが、特に数学やプログラミングの分野で顕著な成果を上げていますが、限界もあります。
- 言語の混合とコードスイッチング:言語を混合したり、予期せず言語を切り替えたりする可能性があり、応答の明瞭さに影響する可能性がある。
- 再帰的な推論ループ:循環的な推論パターンに入る可能性があり、結論に至らない冗長な応答を生成する場合がある。
- 安全性と倫理的考慮事項:信頼性が高く安全なパフォーマンスを確保するために、安全対策を必要とし、QwQを使用する際には注意を払う必要がある。
- パフォーマンスとベンチマークの制限:数学とコーディングに優れているが、常識的な推論や微妙な言語理解などの他の分野では改善の余地がある。
QwQの性能
QwQは、深い思考と内省のプロセスを通じて、数学やプログラミングにおける理解を飛躍的に向上しています。このモデル自身が課題を分析し、仮説検証をすることでより最適な解決策を見つることが可能です。
その結果、以下のようなベンチマークで優れたパフォーマンスを達成しています。
GPQA:科学的な問題解決能力を評価するためのベンチマーク。このベンチマークは、単にインターネットで検索するだけでは答えを見つけられないような問題を含み、LLMの本質的な推論能力を試す設計に。小学生から大学卒業レベルの科学的知識を扱う問題を含んでおり、博士号保持者や博士課程の学生でも65%程度のスコアに留まる。
AIME:アメリカの数学コンテストの一環として実施される試験で、特に数学的思考力と問題解決能力を評価。算数、代数、幾何学、数列・数論、確率論が含まれる。
MATH-500:数学に特化したベンチマークで、500個の多様な問題を含む包括的なテストケース。中等教育から大学レベルまで幅広い数学分野をカバー。
LiveCodeBench:プログラミング能力を評価するための実践的なベンチマーク。特にリアルワールドのプログラミング問題に焦点を当てている。コード生成能力、バグの修正、アルゴリズム設計、プログラムの最適化を測定。
QwQの推論プロセス
公式ページに記載されている算数問題をもとにQwQの推論プロセスついて解説します。
算数問題の解答に至るQwQの推論プロセスは、試行錯誤と深い考察が特徴です。
QwQは問題文を注意深く分析し、与えられた数式が正しくないこと、括弧を追加して正しい式にする必要があることを理解します。 さらに、演算の順序を考慮しながら、括弧をどこに挿入すれば目的の結果が得られるかを検討することが可能です。
また、様々な可能性を段階的に試行するため、 個々の項を括弧で囲む、複数の項をまとめて括弧で囲む、加算と乗算を異なる方法でグループ化するなど、多様な組み合わせを試します。
その過程で、各試行の結果を評価し、目標値との差を分析します。 試行が失敗するたびに、QwQはその結果から学び、次の試行に活かすことが可能です。
最終的にQwQモデルは正しい解答にたどり着きます。 これは、(3 + 4 * 5 + 6)を括弧で囲み、その合計に2と7を掛けることで実現されます。 正解に至るまでには、15回以上の試行と、様々な括弧の組み合わせ、演算の順序の変更などが行われているそうです。
QwQモデルの推論プロセスは、人間の思考プロセスと類似しており、段階的な試行錯誤、深い考察、失敗からの学習といった要素を含んでいます。 このプロセスは、AIの推論能力の進歩を示すものであり、複雑な問題解決においてもAIが有効であることを示唆しています。
QwQのライセンス
QwQのライセンスはApacheライセンス2.0です。
Apacheライセンス 2.0は特許ライセンスを含んでいるため、商用利用を含む幅広い使用が可能。再配布や改変時に、元のライセンス条項と表示が求められます。
利用用途 | 可否 |
---|---|
商用利用 | ⭕️ |
改変 | ⭕️ |
配布 | ⭕️ |
特許使用 | ⭕️ |
私的使用 | ⭕️ |
なお、プログラミング特化LLMのQwen2.5-Coderについて詳しく知りたい方は、下記の記事を合わせてご確認ください。
QwQの使い方
ここからは実際にQwQをgoogle colaboratoryで実装していきます。
QwQにはデモ版が用意されているので、QwQの性能をひとまず確認してみたい、という方はデモ版の利用がおすすめです。
ちなみにデモ版では「Please add a pair of parentheses to the incorrect equation: 1 + 2 * 3 + 4 * 5 + 6 * 7 + 8 * 9 = 479, to make the equation true.」というプロンプトにしました。
和訳:不正確な方程式に括弧を追加してください: 1 + 2 * 3 + 4 * 5 + 6 * 7 + 8 * 9 = 479
デモ版の結果はこちら
So I've got this equation: 1 + 2 * 3 + 4 * 5 + 6 * 7 + 8 * 9 = 479, and I need to add a pair of parentheses to make it correct. Hmm, let's see.
First, I should understand the current calculation without any parentheses. Remembering the order of operations, multiplication comes before addition. So, the equation is evaluated as:
1 + (2 * 3) + (4 * 5) + (6 * 7) + (8 * 9) = 1 + 6 + 20 + 42 + 72 = 141.
But the equation claims it equals 479, which is way off. So, I need to add parentheses to change the order of operations to reach 479.
I need to think about where to place the parentheses to maximize the value. Since multiplication has a higher precedence than addition, grouping additions first would give smaller intermediate results, which might not help much. Maybe I need to group multiplications in a different way.
Wait, but all multiplications are already separate, and additions are between them. Perhaps I need to group an addition and then multiply that by something.
Let me try grouping 1 + 2 and multiplying by 3, then adding the rest:
(1 + 2) * 3 + 4 * 5 + 6 * 7 + 8 * 9 = 3 * 3 + 20 + 42 + 72 = 9 + 20 + 42 + 72 = 143.
Still not 479.
Maybe grouping 1 + 2 * 3:
1 + (2 * 3) + 4 * 5 + 6 * 7 + 8 * 9 = 1 + 6 + 20 + 42 + 72 = 141.
Wait, that's the same as before.
What if I group 1 + 2 and 3 + 4 and multiply them:
(1 + 2) * (3 + 4) + 5 + 6 * 7 + 8 * 9 = 3 * 7 + 5 + 42 + 72 = 21 + 5 + 42 + 72 = 140.
Not helpful.
Maybe grouping larger parts. What if I group from the left:
(1 + 2) * 3 + 4 * 5 + 6 * 7 + 8 * 9 = 3 * 3 + 20 + 42 + 72 = 9 + 20 + 42 + 72 = 143.
Still not 479.
Wait, maybe I need to group more extensively. Let's try grouping 1 + 2 * 3 + 4:
(1 + 2 * 3 + 4) * 5 + 6 * 7 + 8 * 9.
First, calculate inside the parentheses: 1 + 6 + 4 = 11.
Then, 11 * 5 = 55.
Then, 55 + 42 + 72 = 169.
Still too low.
Alternatively, maybe grouping 1 + 2 * 3 + 4 * 5:
(1 + 2 * 3 + 4 * 5) + 6 * 7 + 8 * 9.
Inside the parentheses: 1 + 6 + 20 = 27.
Then, 27 + 42 + 72 = 141.
Same as before.
Hmm, perhaps I need to group additions and multiplications differently.
Wait, maybe grouping additions first to get larger numbers before multiplying.
For example, group 1 + 2 + 3 and multiply by 4:
(1 + 2 + 3) * 4 + 5 * 6 + 7 * 8 + 9 = 6 * 4 + 30 + 56 + 9 = 24 + 30 + 56 + 9 = 119.
Not there yet.
What if I group 1 + 2 + 3 + 4 and multiply by 5:
(1 + 2 + 3 + 4) * 5 + 6 * 7 + 8 * 9 = 10 * 5 + 42 + 72 = 50 + 42 + 72 = 164.
Still low.
Maybe grouping even larger parts.
What about (1 + 2 + 3 + 4 + 5) * 6 + 7 * 8 + 9 = 15 * 6 + 56 + 9 = 90 + 56 + 9 = 155.
Closer, but still not 479.
Wait, maybe I need to group multiplications differently.
What if I group 2 * (3 + 4) and so on.
Let's try: 1 + 2 * (3 + 4) * 5 + 6 * 7 + 8 * 9.
First, 3 + 4 = 7.
Then, 2 * 7 = 14.
Then, 14 * 5 = 70.
So, 1 + 70 + 42 + 72 = 185.
Still low.
Alternatively, maybe grouping additions inside multiplications.
Wait, perhaps I need to group additions first and then multiply by subsequent numbers.
Alternatively, maybe I need to group sub-expressions in a different way.
Let me try grouping from the right.
1 + 2 * 3 + 4 * 5 + 6 * (7 + 8) * 9.
First, 7 + 8 = 15.
Then, 6 * 15 = 90.
Then, 90 * 9 = 810.
Now, 1 + 6 + 20 + 810 = 837.
Way above 479.
Maybe I need to group differently.
Wait, perhaps I can group additions and multiplications in a nested way.
Let's try: 1 + 2 * (3 + 4 * 5) + 6 * 7 + 8 * 9.
First, 4 * 5 = 20.
Then, 3 + 20 = 23.
Then, 2 * 23 = 46.
So, 1 + 46 + 42 + 72 = 161.
Still low.
Alternatively, maybe grouping 3 + 4 * 5:
1 + 2 * 3 + 4 * (5 + 6) * 7 + 8 * 9.
First, 5 + 6 = 11.
Then, 4 * 11 = 44.
Then, 44 * 7 = 308.
Now, 1 + 6 + 308 + 72 = 387.
Still low.
Wait, maybe grouping further.
What if I do 1 + 2 * 3 + 4 * (5 + 6 * 7) + 8 * 9.
First, 6 * 7 = 42.
Then, 5 + 42 = 47.
Then, 4 * 47 = 188.
Now, 1 + 6 + 188 + 72 = 267.
Closer, but still not 479.
Alternatively, maybe grouping 5 + 6 * 7:
1 + 2 * 3 + 4 * (5 + 6 * 7) + 8 * 9 = 1 + 6 + 4 * (5 + 42) + 72 = 1 + 6 + 4 * 47 + 72 = 1 + 6 + 188 + 72 = 267.
Same as before.
Maybe I need to group larger expressions.
What if I group 1 + 2 * 3 + 4 * 5 + 6 * 7:
(1 + 2 * 3 + 4 * 5 + 6 * 7) + 8 * 9 = (1 + 6 + 20 + 42) + 72 = 69 + 72 = 141.
Too low.
Alternatively, maybe grouping 1 + 2 * 3 + 4 * 5 + 6:
(1 + 2 * 3 + 4 * 5 + 6) * 7 + 8 * 9.
First, inside the parentheses: 1 + 6 + 20 + 6 = 33.
Then, 33 * 7 = 231.
Then, 231 + 72 = 303.
Still low.
Wait, maybe I need to group differently.
What if I group 1 + 2 * 3 + 4 * 5 + 6 * 7 + 8:
(1 + 2 * 3 + 4 * 5 + 6 * 7 + 8) * 9.
First, inside the parentheses: 1 + 6 + 20 + 42 + 8 = 77.
Then, 77 * 9 = 693.
Way above 479.
Maybe I need to group a subtraction or division, but the problem only allows addition and multiplication.
Wait, perhaps I need to group multiplications in a different way.
Let me try: 1 + (2 * 3 + 4) * 5 + 6 * 7 + 8 * 9.
First, 2 * 3 + 4 = 6 + 4 = 10.
Then, 10 * 5 = 50.
So, 1 + 50 + 42 + 72 = 165.
Still low.
Alternatively, maybe grouping 2 * (3 + 4) + 5:
1 + 2 * (3 + 4) + 5 * 6 + 7 * 8 + 9 = 1 + 2 * 7 + 30 + 56 + 9 = 1 + 14 + 30 + 56 + 9 = 109.
Not helpful.
Wait, maybe I need to group additions and multiplications in a more creative way.
What if I group 1 + 2 * 3 + 4 * 5 + 6:
(1 + 2 * 3 + 4 * 5 + 6) * 7 + 8 * 9 = (1 + 6 + 20 + 6) * 7 + 72 = 33 * 7 + 72 = 231 + 72 = 303.
結果は得られず無限ループに陥ってしまいました。これが前述した循環的な推論パターンですね。
QwQのgoogle colaboratoryでの実装方法
公式ページにはGitHubのリンクとHugging Faceのリンクの両方ありますが、GitHubのリンクはQwen2.5なのでQwQを使う場合にはHugging Faceの方がわかりやすいかもしれません。
◼︎Pythonのバージョン
Python3.8以上
◼︎システム RAM
81.8 / 83.5 GB
◼︎GPU RAM
33.8 / 40.0 GB
◼︎ディスク容量
93.7 / 112.6 GB
では実際にgoogle colaboratoryでQwQを実装していきます。
まずは必要ライブラリのインストールです。
!pip install transformers accelerate
!pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
ライブラリをインストール後、以下のサンプルコードを試してみましょう。
サンプルコードはこちら
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
# モデル名を指定
model_name = "Qwen/QwQ-32B-Preview"
# モデルとトークナイザーのロード
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype=torch.float16, # float16を使用してメモリ使用量を削減
device_map="auto" # 自動的にGPUを活用
)
tokenizer = AutoTokenizer.from_pretrained(model_name)
# プロンプトの設定
prompt = "How many r in strawberry."
messages = [
{"role": "system", "content": "You are a helpful and harmless assistant. You are Qwen developed by Alibaba. You should think step-by-step."},
{"role": "user", "content": prompt}
]
# トークナイザーを使って入力を整形
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
# モデルへの入力データを作成
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
# モデルの推論を実行
generated_ids = model.generate(
**model_inputs,
max_new_tokens=512
)
# 応答を抽出
generated_ids = [
output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]
response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
print(response)
サンプルコードの結果はこちら
Let's see. The word is "strawberry." I need to find out how many times the letter "r" appears in it. Okay, so I'll look at each letter in the word one by one.
First letter: s - that's not r.
Second letter: t - no, not r.
Third letter: r - yes, that's an r.
Fourth letter: a - not r.
Fifth letter: w - not r.
Sixth letter: b - no.
Seventh letter: e - not r.
Eighth letter: r - another r.
Ninth letter: y - not r.
So, I found two r's in "strawberry." Let me just double-check to make sure I didn't miss any.
Starting over: s, t, r, a, w, b, e, r, y. Yep, there's an r in the third position and another one in the eighth position. No other r's in the word.
So, the answer is two. There are two r's in strawberry.
**Final Answer**
\[ \boxed{2} \]
LLMが苦手とするstrawberry問題の正答は誤ってしまいました。
QwQの性能を高難易度の数学問題と思考実験問題で検証
QwQは数学とコーディング能力が非常に高いです。そこで、QwQの性能を評価するために、高難易度の数学問題と思考実験問題で検証をしてみます。
比較するのはOpen AI o1とです。
高難易度の数学問題
高難易度の数学問題はこちらを与えます。
「円周率が3.05より大きいことを証明せよ。(2003年 東京大学の入試問題より)」
高難易度の数学問題のコードはこちら
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
# モデル名を指定
model_name = "Qwen/QwQ-32B-Preview"
# モデルとトークナイザーのロード
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype=torch.float16, # float16を使用してメモリ使用量を削減
device_map="auto" # 自動的にGPUを活用
)
tokenizer = AutoTokenizer.from_pretrained(model_name)
# プロンプトの設定
prompt = "円周率が3.05より大きいことを証明せよ。"
messages = [
{"role": "system", "content": "You are a helpful and harmless assistant. You are Qwen developed by Alibaba. You should think step-by-step."},
{"role": "user", "content": prompt}
]
# トークナイザーを使って入力を整形
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
# モデルへの入力データを作成
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
# モデルの推論を実行
generated_ids = model.generate(
**model_inputs,
max_new_tokens=512
)
# 応答を抽出
generated_ids = [
output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]
response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
print(response)
高難易度の数学問題の結果はこちら
円周率が3.05より大きいことを証明せよ、と言われました。まず、円周率とは円の周の長さと直径の長さの比のことですよね。一般的にはπと表記され、約3.14159という値です。なので、3.05より大きいというのは当然のように思えますが、どうやって証明すればいいのか考えなければいけません。
まず、基本的な Approach としては、円の周長と直径の比を計算して、それが3.05より大きいことを示せばいいと思います。しかし、πは無理数なので、正確な値を計算するのは不可能です。だから、近似値を使って証明する必要があるでしょう。
perhaps, I can consider a circle with a known diameter and calculate its circumference, then divide the circumference by the diameter to get an approximation of π and show that it's greater than 3.05.
Alternatively, maybe there are some geometric properties or mathematical series that can help me establish a lower bound for π that is greater than 3.05.
Let me think about some historical methods for approximating π. One of the earliest methods is by Archimedes, who used polygons inscribed in and circumscribed around a circle to approximate π. Maybe I can use a similar approach.
So, if I inscribe a regular polygon inside a circle, the perimeter of the polygon will be less than the circumference of the circle. Similarly, if I circumscribe a polygon around the circle, its perimeter will be greater than the circumference. By calculating the perimeters of these polygons and relating them to the diameter, I can get bounds for π.
Let me try this with a hexagon, for simplicity. In a circle with radius r, a regular hexagon inscribed in it has sides of length r, since each side corresponds to one radius.
So, the perimeter of the inscribed hexagon is 6r.
The circumference of the circle is 2πr.
Therefore, 6r < 2πr ⇒ 6 < 2π ⇒ π > 3.
Hmm, that only shows π > 3, but I need to show π > 3.05.
Maybe I need to use a polygon with more sides to get a better approximation.
Let's try with a regular octagon.
For a regular octagon inscribed in a circle of radius r, the side length s can be calculated using
思考実験問題
思考実験問題は以下を解いてもらいます。
問1.2人の囚人AとBが逮捕され、別々の部屋で取り調べを受けています。彼らはお互いに連絡を取ることができません。検察官はそれぞれの囚人に以下の選択肢を提示しました。
黙秘: 相手を裏切らず、罪を認めない。
裏切り: 相手を告発し、自分の刑を軽くする。
条件
両者が黙秘した場合、それぞれ軽い罪で 懲役1年。
一方が裏切り、もう一方が 黙秘 した場合、裏切った側は 釈放、黙秘した側は 懲役10年。
両者が裏切りを選んだ場合、それぞれ 懲役5年。
こちらは囚人のジレンマと呼ばれる問題です。こちらを検証する問題にしたいと思います。
囚人のジレンマのコードはこちら
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
# モデル名を指定
model_name = "Qwen/QwQ-32B-Preview"
# モデルとトークナイザーのロード
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype=torch.float16, # float16を使用してメモリ使用量を削減
device_map="auto" # 自動的にGPUを活用
)
tokenizer = AutoTokenizer.from_pretrained(model_name)
# プロンプトの設定
prompt = """2人の囚人AとBが逮捕され、別々の部屋で取り調べを受けています。彼らはお互いに連絡を取ることができません。検察官はそれぞれの囚人に以下の選択肢を提示しました。
黙秘: 相手を裏切らず、罪を認めない。
裏切り: 相手を告発し、自分の刑を軽くする。
条件
両者が黙秘した場合、それぞれ軽い罪で 懲役1年。
一方が裏切り、もう一方が 黙秘 した場合、裏切った側は 釈放、黙秘した側は 懲役10年。
両者が裏切りを選んだ場合、それぞれ 懲役5年。"""
messages = [
{"role": "system", "content": "You are a helpful and harmless assistant. You are Qwen developed by Alibaba. You should think step-by-step."},
{"role": "user", "content": prompt}
]
# トークナイザーを使って入力を整形
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
# モデルへの入力データを作成
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
# モデルの推論を実行
generated_ids = model.generate(
**model_inputs,
max_new_tokens=2512
)
# 応答を抽出
generated_ids = [
output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]
response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
print(response)
囚人のジレンマの結果はこちら
これは有名な囚人 dilemma ですね。2人の囚人AとBが、それぞれ別々の部屋で取り調べを受けている状況で、お互いの行動が不透明なまま、自分の選択を迫られます。選択肢は「黙秘」か「裏切り」のどちらかで、それぞれの組み合わせによって罰則が異なります。
まず、状況を整理しておきましょう。
- 両方が黙秘を選ぶ場合:それぞれ懲役1年。
- 一方が裏切り、もう一方が黙秘の場合:裏切った側は釈放、黙秘した側は懲役10年。
- 両方が裏切りを選ぶ場合:それぞれ懲役5年。
このゲーム理論の問題では、お互いの利害が対立していて、協力(黙秘)と裏切りの選択が複雑になります。特に、お互いにコミュニケーション不能な状況では、信頼が試されます。
まず、個人として最善の選択は何かを考えましょう。
例えば、囚人Aの立場で考えます。AはBの行動がわからないので、2つのケースを考える必要があります:Bが黙秘か、Bが裏切るか。
1. Bが黙秘を選ぶ場合:
- Aも黙秘:1年刑務所。
- Aが裏切る:釈放。
2. Bが裏切る場合:
- Aが黙秘:10年刑務所。
- Aも裏切る:5年刑務所。
ここで、AはBの行動を予測不能なので、自身の選択が最も不利にならないように行動する必要があります。
まず、Bが黙秘を選ぶと仮定した場合、Aが裏切った方が有利です(釈放 vs. 1年)。
同じように、Bが裏切るだろうと仮定した場合、Aが黙秘选择すると10年 Becomes、裏切った方が5年 Becomes、なので裏切った方が有利です。
つまり、どちらのケースでも、Aが裏切る方がより良い結果 becomes。これはBも同じ立場にありますので、同じように考え、裏切る方向に傾くでしょう。
しかし、両方が裏切る选择すると、それぞれ5年 Bec
google colaboratoryだと処理速度がかなり遅いので、こちらはvast.aiを使って実装をしました。コード自体はgoogle colaboratoryでもそのまま使えます。
トークン数の関係で途中で切れてしまいましたが、適切に思考できているように思います。
なお、数学の関連情報を学習データに用いているQwen2-Mathについて詳しく知りたい方は、下記の記事を合わせてご確認ください。
まとめ
本記事ではQwQについて詳しく解説し、google colaboratoryでの実装方法を紹介しました。高性能なLLMが次から次へと登場していきますが、それぞれのモデルの特性を理解して、活用していくのがいいですね。
QwQは数学とコーディングに特化しているモデルなので、特に機械学習などをコーディングする方は重宝するモデルになるのではないでしょうか。
ぜひ本記事を参考にQwQを実装してみてください!
最後に
いかがだったでしょうか?
LLMを活用することで、複雑な問題に挑み、先進的なAI技術をビジネスに活用するための可能性を広げられます。次の一歩として、生成AIがビジネス課題解決にどのように役立つか具体的に検討してみませんか?
株式会社WEELは、自社・業務特化の効果が出るAIプロダクト開発が強みです!
開発実績として、
・新規事業室での「リサーチ」「分析」「事業計画検討」を70%自動化するAIエージェント
・社内お問い合わせの1次回答を自動化するRAG型のチャットボット
・過去事例や最新情報を加味して、10秒で記事のたたき台を作成できるAIプロダクト
・お客様からのメール対応の工数を80%削減したAIメール
・サーバーやAI PCを活用したオンプレでの生成AI活用
・生徒の感情や学習状況を踏まえ、勉強をアシストするAIアシスタント
などの開発実績がございます。
まずは、「無料相談」にてご相談を承っておりますので、ご興味がある方はぜひご連絡ください。
「生成AIを社内で活用したい」「生成AIの事業をやっていきたい」という方に向けて、生成AI社内セミナー・勉強会をさせていただいております。
セミナー内容や料金については、ご相談ください。
また、大規模言語モデル(LLM)を対象に、言語理解能力、生成能力、応答速度の各側面について比較・検証した資料も配布しております。この機会にぜひご活用ください。