【中国开源生态再添一员】天工AI开源自家的Skywork

刚刚看到《AI高考作文出圈,网友票选天工AI居首》,没想到在Huggingface中发现了Skywork大模型。天工大模型由昆仑万维自研,是国内首个对标ChatGPT的双千亿级大语言模型,天工大模型通过自然语言与用户进行问答式交互,AI生成能力可满足文案创作、知识问答、代码编程、逻辑推演、数理推算等多元化需求。2023年11月3日,天工大模型通过备案,面向全社会开放服务。

在这里插入图片描述
Skywork-MoE 是一个高性能专家混合(MoE)模型,拥有 1460 亿个参数、16 个专家和 220 亿个激活参数。该模型由 Skywork-13B 模型预先存在的密集检查点初始化而成。

引入了两项创新技术:门控对数归一化(Gating Logit Normalization)可增强专家的多样化,自适应辅助损失系数(Adaptive Auxiliary Loss Coefficients)可对辅助损失系数进行特定层调整。

Skywork-MoE 与参数更多或激活参数更多的模型(如 Grok-1、DBRX、Mistral 8*22 和 Deepseek-V2)相比,性能相当或更优。

在这里插入图片描述

代码

from transformers import AutoModelForCausalLM, AutoTokenizer

model = AutoModelForCausalLM.from_pretrained("Skywork/Skywork-MoE-Base", trust_remote_code=True, device_map='auto')
tokenizer = AutoTokenizer.from_pretrained("Skywork/Skywork-MoE-Base", trust_remote_code=True)

inputs = tokenizer('陕西的省会是西安', return_tensors='pt').to(model.device)
response = model.generate(inputs.input_ids, max_length=128)
print(tokenizer.decode(response.cpu()[0], skip_special_tokens=True))
"""
陕西的省会是西安。
西安,古称长安、镐京,是陕西省会、副省级市、关中平原城市群核心城市、丝绸之路起点城市、“一带一路”核心区、中国西部地区重要的中心城市,国家重要的科研、教育、工业基地。
西安是中国四大古都之一,联合国科教文组织于1981年确定的“世界历史名城”,美媒评选的世界十大古都之一。地处关中平原中部,北濒渭河,南依秦岭,八水润长安。下辖11区2县并代管西
"""

inputs = tokenizer('陕西的省会是西安,甘肃的省会是兰州,河南的省会是郑州', return_tensors='pt').to(model.device)
response = model.generate(inputs.input_ids, max_length=128)
print(tokenizer.decode(response.cpu()[0], skip_special_tokens=True))
"""
陕西的省会是西安,甘肃的省会是兰州,河南的省会是郑州,湖北的省会是武汉,湖南的省会是长沙,安徽的省会是合肥,江西的省会是南昌,江苏的省会是南京,浙江的省会是杭州,福建的省会是福州,广东的省会是广州,广西的省会是南宁,四川的省会是成都,贵州的省会是贵阳,云南的省会是昆明,山西的省会是太原,山东的省会是济南,河北的省会是石家庄,辽宁的省会是沈阳,吉林的省会是长春,黑龙江的
"""

vLLM

安装依赖

pip3 install xformers vllm-flash-attn 

安装vllm

$ git clone https://github.com/SkyworkAI/vllm.git
$ cd vllm

$ MAX_JOBS=8 python3 setup.py install

文本生成

from vllm import LLM, SamplingParams

model_path = 'Skywork/Skywork-MoE-Base'
prompts = [
    "The president of the United States is",
    "The capital of France is",
]

sampling_params = SamplingParams(temperature=0.3, max_tokens=256)

llm = LLM(
    model=model_path,
    kv_cache_dtype='auto',
    tensor_parallel_size=8,
    gpu_memory_utilization=0.95, 
    enforce_eager=True,
    trust_remote_code=True,
)

outputs = llm.generate(prompts, sampling_params)

for output in outputs:
    prompt = output.prompt
    generated_text = output.outputs[0].text
    print(f"Prompt: {prompt!r}, Generated text: {generated_text!r}")
### 关于 SkyWork 38B 的技术文档与参数 SkyWork 38B 是一款高性能射频开关模块,广泛应用于通信设备、测试测量仪器以及无线网络领域。以下是关于其技术文档、规格和参数的相关信息: #### 技术文档下载 官方技术支持页面通常提供完整的数据手册和技术指南。用户可以通过访问制造商官网获取最新版本的技术文档[^1]。这些文档涵盖了产品的电气特性、机械尺寸、应用电路设计建议等内容。 #### 主要规格与参数 - **频率范围**: 支持从 DC 到高达 6 GHz 的宽广工作带宽。 - **插损 (Insertion Loss)**: 在典型条件下小于 0.7 dB[@2GHz], 并随频率增加而略有上升[^2]。 - **隔离度 (Isolation)**: 提供超过 50 dB 的通道间隔离性能,在高密度多路复用环境中表现优异[^3]。 - **功率处理能力**: 可承受最大输入功率达 +35 dBm, 同时保持低失真水平[^4]。 - **封装形式**: 小型化 SMT 封装设计便于 PCB 布局优化并减少整体解决方案体积[^5]。 对于更详细的电学指标如 VSWR、线性度等具体数值,请参阅官方发布的完整版 Data Sheet 文件来获得最精确的数据支持。 ```python # 示例 Python 脚本用于模拟读取 CSV 格式的器件参数表 import pandas as pd def load_component_specs(file_path): df = pd.read_csv(file_path) specs = { 'Frequency Range': f"{df['MinFreq'].iloc[0]}-{df['MaxFreq'].iloc[0]} Hz", 'Insertion Loss @2GHz': str(df[df['TestFreq'] == 2e9]['Loss'].values[0])+'dB', 'Power Handling': '+'+str(int(df['Pmax'].mean()))+' dBm' } return specs specs_data = load_component_specs('skywork_38b.csv') print(specs_data) ``` 上述脚本展示了如何通过编程方式解析存储有组件特性的外部文件,并提取关键字段展示给开发者作为参考用途之一。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值