Views
No views yet
⚠️ 使用说明
由于架构特殊,本模型暂不支持ModelScope pipeline调用,请下载我们提供的专用Python库:pip install xiaothink
1import xiaothink as xt
2import xiaothink.llm.inference.test_formal as tf
3import xiaothink.llm.inference.test as test
4
5# 初始化模型配置
6model_config = {
7 'ckpt_dir': '/path/to/your/checkpoint', # 替换为实际checkpoint路径
8 'MT': 't6_beta_dense', # 模型版本标识
9 'vocab': '/path/to/your/vocab.txt' # 替换为实际词表路径
10}
11
12# ===== 交互式聊天模式 =====
13chat_model = tf.QianyanModel(**model_config)
14
15print("【聊天模式已启动】(输入[CLEAN]清空上下文)")
16while True:
17 user_input = input('【问】:')
18
19 if user_input == '[CLEAN]':
20 print('【系统】:上下文已清空\n')
21 chat_model.clean_his()
22 continue
23
24 response = chat_model.chat(user_input, temp=0.32)
25 print('\n【答】:', response, '\n')
26
27# ===== 批量测试模式 =====
28test_model, test_vocab = test.load(**model_config)
29
30test_cases = {
31 1: '解释量子纠缠的基本原理',
32 2: '写一首关于秋天的五言绝句',
33 3: '用Python实现快速排序算法',
34 4: '全球变暖对极地生态系统的影响有哪些?'
35}
36
37# 执行测试用例
38for case_id, prompt in test_cases.items():
39 test_instruction = f'{{"instruction": "{prompt}", "input": "", "output": "'
40
41 print(f"\n=== 测试用例 {case_id} ===")
42 print(f"输入: {prompt}")
43
44 response = test.generate_texts_loop(
45 test_model,
46 test_vocab,
47 test_instruction,
48 num_generate=100,
49 temperature=0.32,
50 window=2048
51 )
52 print(f"输出: {response}")1graph LR
2A[输入文本] --> B{MoF路由机制}
3B --> C[窄深Transformer]
4B --> D[宽浅RNN]
5C --> E[处理复杂短上下文]
6D --> F[处理知识型长上下文]
7E & F --> G[融合输出]1# RNN专家 (CLModel_t6)
2class CLModel_t6(layers.Layer):
3 def __init__(self, vocab_size, embedding_dim, window, units, n=8, ...):
4 # GRU网络 + LayerNormalization
5 self.context_encoders = [GRU(units) for _ in range(n)]
6
7# Transformer专家 (MemoryEnhancedTransformer_dense)
8class MemoryEnhancedTransformer_dense(Model):
9 def __init__(self, vocab_size, embedding_dim, units, ...):
10 # 线性注意力Transformer块 + 位置编码
11 self.transformer_blocks = [LinearAttentionTransformerBlock_dense() for _ in layers]
12 self.position_embedding = PositionEmbedding_dense(...)1class MoEModel_t6(Model):
2 def __init__(self, experts, vocab_size, num_experts, router_units):
3 # GRU路由网络 + 权重归一化
4 self.router_gru = layers.GRU(router_units)
5 self.router_dense = layers.Dense(num_experts, activation='softmax')
6
7 def call(self, inputs):
8 # 动态计算专家权重
9 expert_weights = self.router(inputs) # [B, E]
10 # 加权融合专家输出
11 combined = tf.reduce_sum(stacked * weights, axis=-1)1class LinearAttentionTransformerBlock_dense(layers.Layer):
2 def __init__(self, use_thought_space=True, ...):
3 if use_thought_space:
4 # 全局上下文提取 + 思维向量生成
5 self.context_extractor = GlobalAveragePooling1D()
6 self.thought_processor = Dense(embed_dim, activation='gelu')
7
8 def call(self, inputs):
9 # 思维空间推理
10 context = self.context_extractor(out1)
11 thought_vector = self.thought_processor(context)
12 # 自适应融合
13 out1 = out1 + self.alpha * thought_vector| 参数 | 值 | 说明 |
|---|---|---|
| 硬件 | Intel Core i7 2.8GHz | 民用级CPU |
| 训练时间 | 4天 | 从零开始训练 |
| 预训练数据 | 0.1GB | 高质量中文文本 |
| 微调数据 | 0.15GB | 指令微调数据集 |
| 上下文窗口 | 4096 tokens | 最大支持长度 |
| 专家数量 | 2 | RNN+Transformer |
| 类别 | 参数项 | 值 | 说明 |
|---|---|---|---|
| 嵌入层 | 维度 | 512 | 词向量维度 |
| Transformer | 层数 | 23 | 堆叠层数 |
| dff因子 | 1 | 前馈网络扩展因子 | |
| 注意力头数 | 8 | 多头注意力机制 | |
| 窗口大小 | 130 | 局部注意力范围 | |
| 最大窗口 | 4096 | 位置编码支持长度 | |
| GRU | RNN单元数 | 1400 | 隐藏层维度 |
| 上下文 | 训练长度 | 220 | 训练时上下文长度 |
| 最大长度 | 4096 | 支持的最长上下文 |