【字节拥抱开源】字节豆包团队开源首发 Seed-Coder 大模型

我们非常高兴地向大家介绍 Seed-Coder,它是一个功能强大、透明、参数高效的 8B 级开源代码模型系列,包括基础变体、指导变体和推理变体。Seed-Coder 通过以下亮点促进开放代码模型的发展。

  • 以模型为中心:Seed-Coder主要利用大语言模型(LLMs)而非手工规则进行代码数据过滤,最大限度地减少了预训练数据构建中的人工工作量。
  • 透明:我们公开分享了以模型为核心的数据管道的详细见解,包括整理GitHub数据、提交数据和代码相关网络数据的方法。
  • 强大:Seed-Coder在多种编码任务中,在同等规模的开源模型中实现了最先进的性能。

在这里插入图片描述

Seed-Coder-8B-Base 模型,具备以下特征:

  • 类型:因果语言模型
  • 训练阶段:预训练
  • 数据来源:GitHub 数据、代码相关网络数据
  • 训练标记:6 万亿
  • 支持功能:代码补全、代码填充(中间填充)
  • 上下文长度:32,768

代码示例

您需要安装最新版本的 transformers accelerate

pip install -U transformers accelerate

这是一个简单的示例,展示了如何使用 Hugging Face 的 pipeline API 加载模型并执行代码生成:

import transformers
import torch

model_id = "ByteDance-Seed/Seed-Coder-8B-Base"

pipeline = transformers.pipeline(
    "text-generation",
    model=model_id,
    model_kwargs={"torch_dtype": torch.bfloat16},
    device_map="auto",
)

output = pipeline("def say_hello_world():", max_new_tokens=100)
print(output[0]["generated_text"])

填充中间部分(FIM)示例
Seed-Coder-8B-Base 原生支持 填充中间部分(FIM) 任务,即模型被提供一个前缀和一个后缀,并要求预测缺失的中间内容。这使得在代码填充场景中,如完成函数体或在两段代码之间插入缺失的逻辑成为可能。

import transformers
import torch

model_id = "ByteDance-Seed/Seed-Coder-8B-Base"

pipeline = transformers.pipeline(
    "text-generation",
    model=model_id,
    model_kwargs={"torch_dtype": torch.bfloat16},
    device_map="auto",
)

# You can concatenate a prefix, a special FIM separator token, and a suffix
prefix = "def add_numbers(a, b):\n    "
suffix = "\n    return result"

# Combine prefix and suffix following the FIM format
fim_input = '<[fim-suffix]>' + suffix + '<[fim-prefix]>' + prefix + '<[fim-middle]>'

output = pipeline(fim_input, max_new_tokens=512)
print(output[0]["generated_text"])

评估

Seed-Coder-8B-Base 在代码生成、代码补全和代码推理基准测试中进行了评估,在约 8B 的开源模型中实现了最先进的性能。

DeepSeek-Coder-6.7B-BaseOpenCoder-8B-BaseQwen2.5-Coder-7BSeed-Coder-8B-Base
HumanEval47.666.572.077.4
MBPP70.279.979.482.0
MultiPL-E44.761.058.867.6
cruxeval-O41.043.956.048.4

Seed-Coder-8B-Instruct 模型,具有以下特点:

  • 类型:因果语言模型
  • 训练阶段:预训练与后训练
  • 数据来源:公共数据集、合成数据
  • 上下文长度:32,768

代码示例
您需要安装最新版本的 transformers accelerate

pip install -U transformers accelerate

这是一个简单的示例,展示了如何使用 Hugging Face 的 pipeline API 加载模型并执行代码生成:

from transformers import AutoTokenizer, AutoModelForCausalLM
import torch

model_id = "ByteDance-Seed/Seed-Coder-8B-Instruct"

tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype=torch.bfloat16, device_map="auto", trust_remote_code=True)

messages = [
    {"role": "user", "content": "Write a quick sort algorithm."},
]

input_ids = tokenizer.apply_chat_template(
    messages,
    tokenize=True,
    return_tensors="pt",
    add_generation_prompt=True,  
).to(model.device)

outputs = model.generate(input_ids, max_new_tokens=512)
response = tokenizer.decode(outputs[0][input_ids.shape[-1]:], skip_special_tokens=True)
print(response)

评估

Seed-Coder-8B-Instruct 在广泛的编码任务中进行了评估,包括代码生成、代码推理、代码编辑和软件工程,在约 8B 的开源模型中实现了最先进的性能。

ModelHumanEvalMBPPMHPPBigCodeBench (Full)BigCodeBench (Hard)LiveCodeBench (2410 – 2502)
CodeLlama-7B-Instruct40.954.06.721.93.43.6
DeepSeek-Coder-6.7B-Instruct74.474.920.035.510.19.6
CodeQwen1.5-7B-Chat83.577.717.639.618.93.0
Yi-Coder-9B-Chat82.382.026.738.111.517.5
Llama-3.1-8B-Instruct68.370.117.136.613.511.5
OpenCoder-8B-Instruct83.579.130.540.316.917.1
Qwen2.5-Coder-7B-Instruct88.482.026.741.018.217.3
Qwen3-8B84.877.032.851.723.023.5
Seed-Coder-8B-Instruct84.885.236.253.320.524.7

Seed-Coder-8B-Reasoning 模型,具有以下特点:

  • 类型:因果语言模型
  • 训练阶段:预训练与后训练
  • 数据来源:公共数据集
  • 上下文长度:32,768

代码示例
您需要安装最新版本的 transformers accelerate

pip install -U transformers accelerate

这是一个简单的示例,展示了如何使用 Hugging Face 的 pipeline API 加载模型并执行代码生成:

from transformers import AutoTokenizer, AutoModelForCausalLM
import torch

model_id = "ByteDance-Seed/Seed-Coder-8B-Reasoning"

tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype=torch.bfloat16, device_map="auto", trust_remote_code=True)

messages = [
    {"role": "user", "content": "Write a quick sort algorithm."},
]

input_ids = tokenizer.apply_chat_template(
    messages,
    tokenize=True,
    return_tensors="pt",
    add_generation_prompt=True,  
).to(model.device)

outputs = model.generate(input_ids, max_new_tokens=16384)
response = tokenizer.decode(outputs[0][input_ids.shape[-1]:], skip_special_tokens=True)
print(response)

评估

Seed-Coder-8B-Reasoning 在竞争性编程中表现出色,表明较小的语言模型也能在复杂推理任务中胜任。我们的模型在 IOI’2024 上超越了 QwQ-32B 和 DeepSeek-R1,并在 Codeforces 竞赛中取得了与 o1-mini 相当的 ELO 评分。

在这里插入图片描述
在这里插入图片描述
有关详细的基准性能,请参阅我们的📑 技术报告.

### 字节跳动豆包大模型的独特优势 字节跳动推出的豆包大模型 1.5 Pro 展现了多项独特的优势和技术特点。以下是几个主要方面: #### 1. **卓越的多模态能力** 豆包大模型不仅具备强大的自然语言处理能力,还通过统一生成式和判别式训练方法增强了其多模态表现[^2]。这种技术使得该模型能够在图像理解、视频分析以及跨模态任务中表现出色。 #### 2. **领先的性能指标** 在多个基准测试中,豆包 1.5 Pro 的成绩超过了行业内的顶尖竞争对手,如 GPT-4o 和 Claude 3.5 Sonnet[^1]。这表明它在复杂场景下的推理能力和生成质量达到了新的高度。 #### 3. **创新性的架构设计** 采用稀疏 MoE (Mixture of Experts) 架构是豆包大模型的一大亮点之一。这一架构允许模型根据不同输入动态调整计算资源分配,从而提高效率并降低运行成本。相比传统的密集型神经网络结构,这种方法更加灵活且经济高效。 #### 4. **广泛的应用生态** 除了自身的技术突破外,豆包也已经成功融入到更大的应用生态系统当中。目前已有多个国内知名的大语言模型平台接入了豆包服务,包括但不限于通义千问、MiniMax 等合作伙伴共同构建了一个开放共赢的合作环境[^3]。 #### 5. **实际应用场景的支持** 以华为帝瓦雷音箱为例,在具体业务领域内,豆包能够提供高质量的内容创作支持。例如生成关于产品的详细介绍文案时,既考虑到了目标受众的需求偏好又兼顾了商业价值最大化的要求[^4]。 ```python # 示例代码展示如何调用豆包API生成描述 import requests def generate_product_description(model_url, product_name): payload = {"prompt": f"Write a detailed description for {product_name}"} response = requests.post(model_url, json=payload) return response.json()["text"] model_endpoint = "https://api.doupack.com/generate" description = generate_product_description(model_endpoint, "Huawei Devialet Speaker") print(description) ``` 以上这些特性共同构成了豆包作为一款先进人工智能工具的核心竞争力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值