テンセントの「Hunyuan Dense」モデルを試す
ここで知った。
- モデルは、0.5B / 1.8B / 4B / 7B のバリエーション
- InstructとPretrainがある
- 量子化はFP8・AWS(Int4)・GPTQ(Int4)が用意されており、非公式なGGUFもある
とりあえず自分は軽量モデルでどの程度日本語が使えるか?を知りたいので、まずは0.5Bから試してみる
モデル紹介
Hunyuanは、Tencentが提供するオープンソースの高性能大規模言語モデルシリーズで、多様な計算環境での柔軟な展開を目的として設計されています。エッジデバイスから高並列生産システムまで、高度な量子化サポートと超長文処理能力により、最適なパフォーマンスを提供します。
当社は、Hunyuanのdenseモデルシリーズをリリースしました。このシリーズには、事前トレーニング済みモデルと指示チューニング済みモデルのバリエーションが含まれ、パラメーター規模は0.5B、1.8B、4B、7Bの4種類です。これらのモデルは、Hunyuan-A13Bと同様のトレーニング戦略を採用しており、その堅牢な性能特性を継承しています。この包括的なモデルファミリーは、リソース制約の厳しいエッジコンピューティング環境での小型モデルから、高スループットの生産環境での大型モデルまで、多様なシナリオにおいて強力な機能を維持しつつ、柔軟な展開最適化を可能にします。
主要な機能とメリット
- ハイブリッド推論サポート: 迅速な推論と詳細な推論の両方をサポートし、ユーザーがニーズに応じて柔軟に選択可能です。
- 超長文コンテキスト理解: 256Kのコンテキストウィンドウをネイティブにサポートし、長文タスクでも安定した性能を維持します。
- 強化されたエージェント機能: エージェントタスク向けに最適化され、BFCL-v3、τ-Bench、C3-Benchなどのベンチマークで最先端の成果を達成しています。
- 効率的な推論: グループドクエリアテンション(GQA)を採用し、複数の量子化形式をサポートすることで、高効率な推論を実現します。
Colaboratory T4で、0.5B-Instructを試してみる。
特定のコミットのTransformersが必要みたいなのでインストール
!pip install git+https://github.com/huggingface/transformers@4970b23cedaf745f963779b4eae68da281e8c6ca
モデルとトークナイザーをロード
from transformers import AutoModelForCausalLM, AutoTokenizer
import os
import re
model_name_or_path = "tencent/Hunyuan-0.5B-Instruct"
tokenizer = AutoTokenizer.from_pretrained(model_name_or_path)
model = AutoModelForCausalLM.from_pretrained(
model_name_or_path,
device_map="auto"
# You may want to use bfloat16 and/or move to GPU here
)
この時点でVRAM消費は8.4GBぐらい。軽量な割には結構食うなーという感がある。
Mon Aug 4 09:20:21 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.54.15 Driver Version: 550.54.15 CUDA Version: 12.4 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 Tesla T4 Off | 00000000:00:04.0 Off | 0 |
| N/A 49C P0 29W / 70W | 8402MiB / 15360MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
では推論。Thinkingに対応している(デフォルトは有効)
messages = [
{
"role": "user",
"content": "定期的な運動のメリットを簡潔にまとめて。日本語で。"
},
]
tokenized_chat = tokenizer.apply_chat_template(
messages,
tokenize=True,
add_generation_prompt=True,
return_tensors="pt",
enable_thinking=True # Toggle thinking mode (default: True)
)
outputs = model.generate(
tokenized_chat.to(model.device),
max_new_tokens=2048
)
output_text = tokenizer.decode(outputs[0])
#print("output_text=",output_text)
think_pattern = r'<think>(.*?)</think>'
think_matches = re.findall(think_pattern, output_text, re.DOTALL)
answer_pattern = r'<answer>(.*?)</answer>'
answer_matches = re.findall(answer_pattern, output_text, re.DOTALL)
think_content = [match.strip() for match in think_matches][0]
answer_content = [match.strip() for match in answer_matches][0]
print(f"thinking_content:{think_content}\n\n")
print(f"answer_content:{answer_content}\n\n")
thinking_content:嗯,用户让我总结定期的な運動的益处,而且要求用日语简洁表达。首先,我需要确定用户的需求是什么。可能他们正在考虑如何开始运动,或者想了解哪些运动对改善健康有积极影响。用户可能是个普通的人,不太懂运动术语,所以需要简单明了的建议。
接下来,我要考虑用户可能的深层需求。除了列举好处,他们可能还想知道如何开始运动,或者这些好处的具体例子。不过用户只要求总结益处,所以应该集中在好处上,但可能需要适当加入一些实用建议,比如时间、频率等,让内容更实用。
然后,我需要确保用日语准确表达。日语中常用的健身术语有“トレーニング”、“エネルギー強化”、“健康維持”等。要检查每个好处是否准确对应这些词汇,避免直译错误。例如,“能量増加”对应“エネルギー強化”,“体質改善”对应“健康維持”。
还要注意句子的结构,日语通常比较简洁,所以需要把每个益处用短句或短语表达。比如“增加体力”可以翻译为“エネルギー強化”,“提高耐力”则是“耐力性向上”。同时,可能需要分点列出,但用户要求的是段落形式,所以用连接词如“~とすると”来组织。
另外,用户可能希望内容易于阅读,所以用词要日常化,避免专业术语过多。比如“改善体态”而不是“改善体質”,这样更符合日常用语。还要确保没有使用复杂的句子结构,保持简洁明了。
最后,检查是否有遗漏的重要益处,比如提升情绪、增强自信心等。虽然用户没有明确要求,但作为全面的好处,可能需要涵盖这些方面,但要根据日语习惯调整。例如,“增强自信”可以翻译为“自信向上”,这样既准确又自然。
总结一下,我需要确保每个益处都清晰传达,用日语准确表达,并且符合用户要求的简洁和日常化。同时,考虑到用户可能的不同背景,提供实用的建议也会有帮助,但用户主要需要的是益处,所以重点放在那里。
answer_content:以下は、定期的な運動のメリットを簡潔にまとめます:
1. **エネルギー強化**
運動はエネルギーを蓄積し、疲れを軽減する効果がある。
2. **耐力性向上**
長時間の運動により、柔軟さや柔らかい体質が向上する。
3. **健康維持**
体質を守りつつ、免疫力を高める。
4. **自信向上**
自分自身の意欲を引き出し、好みのある体験を得る。
5. **スキル習得**
柔らかい運動を通じて、スキルの習得や知識の発展につながる。
6. **気持ち向上**
運動の趣味を楽しみ、心の落ち着きを緩やすくなる。
7. **バランス感覚改善**
ストレートな運動を選ぶことで、バランス感覚を生み出す。
8. **体質向上**
運動による体質改善や、体重減少につながる。
9. **自信・好みのある体験**
運動の魅力を感じ、自己中心な生活を送る。
10. **ストレートな体質**
柔軟な運動を通じて、柔軟な身体を育む。
11. **ストレス軽減**
運動はストレスを軽減する効果がある。
12. **心身の調整**
心の活力を高め、身体の良好な状態を維持する。
13. **社交の助け**
運動を通じたコミュニケーションが向上する。
14. **健康への貢献**
運動による健康の改善や、個人の健康を守るための手段。
15. **自律性向上**
運動を通じて自律性を高める。
これらのメリットを踏まえて、適切なタイミングで運動を開始することで、健康や自信、スキルといった多様な福祉を実現できます。
「日本語で」みたいなプロンプトにすれば、回答は日本語で行わる。ただし、Thinkingは中国語のまま。
もう一つ。
messages = [
{
"role": "system",
"content": "あなたは親切な日本語のアシスタントです。"
},
{
"role": "user",
"content": "競馬の楽しみ方を5つリストアップして。"
},
]
thinking_content:好的,用户让我列出竞马比赛的5个乐趣,而且我需要以亲切的日语回复,作为我的助手。首先,我得确定竞马比赛的乐趣有哪些。可能包括团队合作、观察赛场、挑战自我、音乐节奏和即兴发挥这些方面。
接下来,我需要用日语来组织这些内容,确保自然流畅。要注意用词口语化,符合日常交流的感觉。比如“チームを組む”可以翻译成“チームを組む”,这样更自然。另外,用户提到要亲切的日语,所以避免太正式的表达,多用一些日常用语。
然后,每个乐趣点需要具体一点,让内容更有吸引力。比如团队合作可以举例子,比如“チームの動作”或者“チームでの協力”。观察赛场的话,可以说“観察の場で見る”,这样更生动。挑战自我方面,可以提到“自己の試みを試す”,这样既明确又容易理解。
音乐节奏方面,可以加入一些具体的技巧,比如“楽しい音楽に合わせて進む”,这样用户能想象到比赛的过程。即兴发挥部分,可以用“リモートで出発する”来表现,既符合日本文化又显得有趣。
最后,检查整体结构是否连贯,有没有重复或冗余的地方。确保每个点都清晰传达了比赛的乐趣,同时保持日语的礼貌和亲切感。可能还需要调整句子的长度,使用适当的连接词让整体读起来更顺畅。
总结一下,我需要确保五个乐趣点都涵盖到,并且用自然的日语表达出来,同时保持亲切友好的语气,符合用户的要求。
answer_content:私は競馬の楽しみ方について、以下の5つの要素を挙げますね。
1. **チームを組む**
競馬は「チーム」という役割を持ちます。自分のスポーツ運動を通じて、チームの動作を積極的に取り入れることで、勝利につながります。例えば「チームを組んで全力で進める」と戦いながら、勝利の大切さを感じることができます。
2. **観察の場で見る**
競馬の場では、自然の風景や動物の姿を確認することが多いです。特に「動物がどこかを見る」と目を集中させることで、見逃しないかもしれません。
3. **自己の試みを試す**
自分のスポーツ運動を試し、最終的な成功を追求することで、競馬の魅力を増やすとします。例えば「自分で最後の一歩を決めて」と自信を持って進むことができます。
4. **楽しい音楽に合わせる**
音楽の調子を工夫することで、競馬の競技が楽になることがあります。例えば「楽しい音楽に合わせて進む」と練習し、勝利につながることができます。
5. **リモートで出発する**
リモートで競馬を試し、自己のスキルを高めるために「リモートで出発する」と努力することで、競馬の魅力を増やすとします。
これらの要素を組み合わせて、私たちの競馬の楽しみ方を実感できますね!
知識を確認
messages = [
{
"role": "system",
"content": "あなたは親切な日本語のアシスタントです。"
},
{
"role": "user",
"content": "魔法少女まどか☆マギカの中で、一番可愛いのは誰?"
},
]
thinking_content:嗯,用户问的是魔法少女まどか☆マギカ里最可爱的人是谁。首先,我需要确定用户指的是哪个版本的角色,因为不同的作品可能有不同的设定。比如《魔法少女まどか》和《魔女纪》系列,这两个都是比较受欢迎的动画。
接下来,用户提到“一番可愛”,这可能涉及到角色的个性、性格或者某个特定的能力。我需要回忆这两个角色的主要特点。在《魔女纪》中,まどか的设定比较特别,她是一个充满魅力的少女,擅长魔法,而且她的名字“まどか”带有一些神秘感,可能让人联想到其他角色。
然后,考虑到用户可能希望得到具体的例子,比如她的某个特征,比如笑容、魔法能力,或者与其他角色的区别。比如,她可能喜欢收集魔法物品,或者与魔法相关的互动,比如帮助别人,或者她的名字有特殊含义。
另外,用户可能对角色的性格感兴趣,比如她的乐观、善良,或者独特的个性。需要确认是否有其他角色被提及,但根据常见的回答,まどか的设定应该集中在她的独特之处上。
还要注意用户可能的深层需求,比如他们可能想了解角色背后的故事,或者寻找共同话题。因此,在回答时不仅要指出角色的特点,还要适当扩展,让用户有更全面的了解。
最后,确保回答符合角色设定,保持口语化,避免使用专业术语或复杂结构,让内容易于理解。同时,检查是否有拼写错误或误解,确保信息准确。
answer_content:まどかのさんは、魔法の力と美しさを両立させる姿勢が特徴です。彼女は、魔法の能力を得意とする性格で、そして「まどか」という名前のことから、神秘的な雰囲気を持つように見えます。彼女は、魔法の世界を楽しむことができ、また、他人に魔法の助けを提供するなど、愛らしい存在です。
まあ0.5Bだし知識はそんなになさそう。
あと、ちょっとひねったことをやらせると、回答が中国語になったり、回答がリピートして壊れたりすることが多いかなぁという気がする、あくまでも個人的印象だけど。
ついでに4Bでも試してみた。ランタイムはL4で、モデル名を変えるだけ。
ロードしてみたら4Bなのに結構食うね・・・
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.54.15 Driver Version: 550.54.15 CUDA Version: 12.4 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA L4 Off | 00000000:00:03.0 Off | 0 |
| N/A 39C P0 29W / 72W | 21839MiB / 23034MiB | 31% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
推論
messages = [
{
"role": "system",
"content": "あなたは親切な日本語のアシスタントです。"
},
{
"role": "user",
"content": "魔法少女まどか☆マギカの中で、一番可愛いのは誰?"
},
]
thinking_content:嗯,用户问的是《魔法少女まどか☆マギカ》里谁最可爱。首先得回忆一下这部作品的主要角色,特别是她们的可爱之处。
まどか是主角,性格活泼开朗,但可能有时候会有点小迷糊。然后还有其他角色比如センジ、フユカ、ミク、ルフィ等。每个角色都有自己独特的魅力。
用户可能对角色比较感兴趣,想了解哪个更可爱。不过“最可爱”这种主观问题很难有绝对答案。可能需要分析每个角色的可爱点,然后指出不同人的看法不同。
还要注意避免剧透太多,但又要给出足够的信息让用户理解。可能需要提到每个角色的特点,比如センジ的傲娇,フユカ的温柔,ミク的元气,ルフィ的神秘感,以及まどか的活力。
另外,用户可能是在寻找推荐,或者想讨论角色之间的对比。所以回答时要保持中立,同时鼓励用户分享自己的观点,这样互动性更强。
最后,确保语言口语化,符合中文表达习惯,不用专业术语,让回答自然流畅。
answer_content:这可有点难抉择呢。まどか呀,她充满活力,总是开开心心的,有时候还会犯点小迷糊,看起来就很有朝气。センジ是个傲娇的家伙,虽然外表酷酷的,但一提到重要的事就会害羞,那种反差萌也很可爱。フユカ超级温柔,不管是对朋友还是陌生人,都总是很体贴。ミク呢,就像个小太阳一样元气满满,笑起来眼睛弯弯的特别甜。ルフィ又带着点神秘感,让人忍不住想要去探索她的内心世界。每个人对角色的喜爱点都不一样啦,你有没有特别喜欢的角色呀🧐
中国語で出力されてしまったので日本語訳
これはちょっと迷うな。まどかは元気いっぱい、いつも笑顔で、時々小さな失敗をしても、若々しい活力が感じられる。センジはツンデレの性格で、外見はクールだけど、重要なことになると照れてしまう。そのギャップがまたかわいい。フユカは超優しい性格で、友達にも知らない人にもいつも気配りが行き届いています。ミクは小さな太陽のように元気いっぱい、笑うと目が細くなってすごく可愛いです。ルフィは少し神秘的な雰囲気を持っていて、彼女の内面を知りたくなるような魅力があります。みんながキャラクターの好きなところはそれぞれ違うでしょう?あなたには特に好きなキャラクターはいますか?🧐
0.5Bよりは4Bのほうが知識は多そうだけども、少なくともこういった知識はなさそう。
英語にしてみた
messages = [
{
"role": "user",
"content": "who is the prettiest girl in 魔法少女まどか☆マギカ?"
},
]
thinking_content:Okay, the user is asking who the prettiest girl is in "魔法少女まどか☆マギカ" (Makohama☆Magiika). First, I need to recall the main characters and their personalities. The story has several main girls: 田中(Tanioka)、野口(Noru)、三岛(Mizuki), and others like 真夜(Mayuri) or 白(Shiro).
Tanioka is the main protagonist, but she's more about her journey of self-discovery. Noru is the leader of the Magi, with a strong personality, and Mizuki is a powerful Magi. Mayuri is also a key character, known for her stoic nature and being one of the most powerful Magis.
The term "prettiest" can be subjective, but often in anime discussions, certain characters are noted for their beauty. Tanioka is often seen as beautiful because of her design, but her role is more about growth than just looks. Mizuki is known for her striking appearance, with long hair and a confident demeanor. Mayuri is also admired for her elegance and strength.
It's important to note that beauty is subjective, and different fans might have different opinions. However, common mentions include Mizuki and Tanioka as candidates. I should explain that while there's no definitive answer, these characters are frequently cited. Also, mention that the focus in the story is on their growth and missions rather than physical appearance.
answer_content:In *魔法少女まどか☆マギカ* (Makohama☆Magiika), the concept of "prettiest girl" is inherently subjective, as anime and manga often emphasize character development, personality, and growth over physical appearance. However, some fans and critics frequently highlight certain characters for their beauty, confidence, or iconic designs. Here are a few notable ones:
### 1. **三島 一葉 (Mizuki Kazuyo)**
Mizuki is widely regarded as one of the most visually striking and elegant main characters. Her signature design—long, flowing silver hair, a white dress with intricate lace details, and a striking blue eyes—makes her a standout. She’s also known for her stoic, determined personality and immense magical power, which adds depth to her appeal.
### 2. **田中 真由(Tanioka Shiyu)**
As the protagonist, Tanioka’s design is equally captivating. Her dark brown hair, a red scarf, and a mix of serious and approachable expressions make her both approachable and mysterious. While her role is more focused on self-discovery and growth than aesthetics, her beauty is undeniable.
### 3. **真夜 白(Mayuri Shiro)**
Mayuri is admired for her serene, otherworldly beauty. Her long, silvery hair (with subtle streaks of gold) and ethereal, almost angelic features contribute to her allure. She’s a key figure in the story, often acting as a mentor or ally to the main group.
### 4. **野口 花(Noru Hanako)**
Noru, the leader of the Magi, is beloved for her warm, approachable demeanor and natural charm. Her soft, pink hair and kind personality make her relatable, and her role as a leader adds a layer of admiration to her.
### Honorable Mentions:
Other characters like 白(Shiro, a powerful Magi with a regal presence) and 美月 詩織(Meiko Shigoshi, a quiet, artistic girl) are also praised for their unique beauty and charisma.
Ultimately, the "prettiest" girl is a matter of personal preference, as the series values growth, heart, and resilience over superficial traits. Each character brings something special, and their beauty is amplified by their personalities and stories! 🌸
英語でThinkingはしてくれるのね。
現状日本語で使うには、ちょっと使い所が難しいかなぁ・・・軽量といえどVRAM結構食うし、日本語だと安定性もいまいちな印象。
このクラスのモデルだと知識量ではない部分のユースケースで使うことになると思うけど、現状は他の選択肢もあるので、あえて使うか?というところ。とりあえず今後に期待するかなぁ。
日本語・軽量だとこのあたりかなと思う。
キワキワに軽量化したい・最低限の日本語が使えればいい
国産LLMで日本語しっかり
VLMだとこの辺が1B〜で日本語も普通に使えてオススメ