掘金 人工智能 06月09日 19:08
字节开源代码模型——Seed-Coder 本地部署教程,模型自驱动数据筛选,让每行代码都精准落位!
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

字节跳动Seed团队开源的Seed-Coder,一款基于Llama 3架构的8B参数大模型,专注于代码生成、补全与推理。该模型支持32K超长上下文,包含Base、Instruct、Reasoning三个变体,核心创新在于“模型自驱动数据筛选”,显著提升代码生成质量与效率。本文提供了详细的部署过程,包括环境配置、依赖安装、模型下载以及VLLM和OpenWebUI服务的启动,帮助用户快速搭建和体验Seed-Coder。

💻 Seed-Coder 是一款由字节跳动Seed团队开源的代码大模型,基于Llama 3架构,拥有8B参数,支持32K超长上下文。

⚙️ 部署过程涉及多个步骤,首先需要配置Ubuntu环境,包括更新软件包、配置国内apt源、安装常用软件和工具。

🚀 接下来,安装NVIDIA CUDA Toolkit 12.1,并配置环境变量,为后续的深度学习模型运行做好准备。然后,安装Miniconda,用于管理Python环境和包。

📦 随后,从GitHub仓库克隆项目,创建虚拟环境,并安装模型依赖库,包括升级pip、更换pypi源加速库的安装、安装requirements.txt和open-webui。

💾 部署的最后一步是下载预训练模型,启动VLLM服务和OpenWebUI服务,完成模型搭建。用户可以通过OpenWebUI界面进行代码生成、补全和推理等操作。

一、介绍

Seed-Coder 由字节跳动 Seed 团队于 2025 年 5 月开源,是一款专注于代码生成、补全与推理的 8B 参数大模型(基于 Llama 3 架构),支持 32K 超长上下文,包含 Base、Instruct、Reasoning 三个变体,以 “模型自驱动数据筛选” 为核心创新,显著减少人工干预,提升代码生成质量与效率。

🌟 亮点

以模型为中心: Seed-Coder 主要利用 LLM 而不是手工制作的规则来过滤代码数据,从而最大限度地减少预训练数据构建中的手动工作。

透明:我们公开分享以模型为中心的数据管道的详细见解,包括管理 GitHub 数据、提交数据和代码相关的网络数据的方法。

强大: Seed-Coder 在各种编码任务中实现了与同等规模的开源模型中最先进的性能。

二、部署过程

基础环境最低要求说明:

环境名称版本信息1
Ubuntu22.04.4 LTS
CudaV12.4.105
Python3.12
NVIDIA CorporationRTX 4090

1. 更新基础软件包

查看系统版本信息

# 查看系统版本信息,包括ID(如ubuntu、centos等)、版本号、名称、版本号ID等cat /etc/os-release

配置 apt 国内源

# 更新软件包列表apt-get update

这个命令用于更新本地软件包索引。它会从所有配置的源中检索最新的软件包列表信息,但不会安装或升级任何软件包。这是安装新软件包或进行软件包升级之前的推荐步骤,因为它确保了您获取的是最新版本的软件包。

# 安装 Vim 编辑器apt-get install -y vim

这个命令用于安装 Vim 文本编辑器。-y 选项表示自动回答所有的提示为“是”,这样在安装过程中就不需要手动确认。Vim 是一个非常强大的文本编辑器,广泛用于编程和配置文件的编辑。

为了安全起见,先备份当前的 sources.list 文件之后,再进行修改:

# 备份现有的软件源列表cp /etc/apt/sources.list /etc/apt/sources.list.bak

这个命令将当前的 sources.list 文件复制为一个名为 sources.list.bak 的备份文件。这是一个好习惯,因为编辑 sources.list 文件时可能会出错,导致无法安装或更新软件包。有了备份,如果出现问题,您可以轻松地恢复原始的文件。

# 编辑软件源列表文件vim /etc/apt/sources.list

这个命令使用 Vim 编辑器打开 sources.list 文件,以便您可以编辑它。这个文件包含了 APT(Advanced Package Tool)用于安装和更新软件包的软件源列表。通过编辑这个文件,您可以添加新的软件源、更改现有软件源的优先级或禁用某些软件源。

在 Vim 中,您可以使用方向键来移动光标,i 键进入插入模式(可以开始编辑文本),Esc 键退出插入模式,:wq 命令保存更改并退出 Vim,或 :q! 命令不保存更改并退出 Vim。

编辑 sources.list 文件时,请确保您了解自己在做什么,特别是如果您正在添加新的软件源。错误的源可能会导致软件包安装失败或系统安全问题。如果您不确定,最好先搜索并找到可靠的源信息,或者咨询有经验的 Linux 用户。

使用 Vim 编辑器打开 sources.list 文件,复制以下代码替换 sources.list里面的全部代码,配置 apt 国内阿里源。

deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse

安装常用软件和工具

# 更新源列表,输入以下命令apt-get update# 更新系统软件包,输入以下命令apt-get upgrade# 安装常用软件和工具,输入以下命令apt-get -y install vim wget git git-lfs unzip lsof net-tools gcc cmake build-essential

出现以下页面,说明国内apt源已替换成功,且能正常安装apt软件和工具

2. 安装 NVIDIA CUDA Toolkit 12.1

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.0-1_all.deb

这个命令用于下载 CUDA 的 GPG 密钥环,它用于验证 CUDA 软件包的签名。这是确保软件包安全性的一个重要步骤。

dpkg -i cuda-keyring_1.0-1_all.deb

使用 dpkg 安装下载的密钥环。这是必要的,以便 apt 能够验证从 NVIDIA 仓库下载的软件包的签名。

apt-key del 7fa2af80

这一步可能不是必需的,除非您知道 7fa2af80 是与 CUDA 相关的旧密钥,并且您想从系统中删除它以避免混淆。通常情况下,如果您只是安装 CUDA 并使用 NVIDIA 提供的最新密钥环,这一步可以跳过。

apt-get update

更新 apt 的软件包列表,以便包括刚刚通过 cuda-keyring 添加的 NVIDIA 仓库中的软件包。

apt-get -y install cuda-toolkit-12-1

出现以下页面,说明 NVIDIA CUDA Toolkit 12.1 安装成功

注意:这里可能有一个问题。NVIDIA 官方 Ubuntu 仓库中可能不包含直接名为 cuda-toolkit-12-1 的包。通常,您会安装一个名为 cuda 或 cuda-12-1 的元包,它会作为依赖项拉入 CUDA Toolkit 的所有组件。请检查 NVIDIA 的官方文档或仓库,以确认正确的包名。

如果您正在寻找安装特定版本的 CUDA Toolkit,您可能需要安装类似 cuda-12-1 的包(如果可用),或者从 NVIDIA 的官方网站下载 CUDA Toolkit 的 .run 安装程序进行手动安装。

请确保您查看 NVIDIA 的官方文档或 Ubuntu 的 NVIDIA CUDA 仓库以获取最准确的包名和安装指令。

编辑 ~/.bashrc 文件

# 编辑 ~/.bashrc 文件vim ~/.bashrc

插入以下环境变量

# 插入以下环境变量export PATH=/usr/local/cuda/bin:$PATHexport LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

激活 ~/.bashrc 文件

# 激活 ~/.bashrc 文件source ~/.bashrc

查看cuda系统环境变量

which nvccnvcc -V

3. 安装 Miniconda

# 下载 Miniconda 安装脚本wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh# 运行 Miniconda 安装脚本bash Miniconda3-latest-Linux-x86_64.sh# 初次安装需要激活 base 环境source ~/.bashrc

按下回车键(enter)

输入yes

输入yes

安装成功如下图所示

pip配置清华源加速

# 编辑 /etc/pip.conf 文件vim  /etc/pip.conf

加入以下代码

[global]index-url = https://pypi.tuna.tsinghua.edu.cn/simple

注意事项:

4. 从 github 仓库 克隆项目

# 克隆项目git clone https://github.com/ByteDance-Seed/Seed-Coder.git

5. 创建虚拟环境

# 创建一个名为 Seed_Coder 的新虚拟环境,并指定 Python 版本为 3.12conda create --name Seed_Coder python=3.12 -y

6. 安装模型依赖库

# 切换到 Seed-Coder 项目工作目录cd /Seed-Coder# 激活 Seed_Coder 虚拟环境conda activate Seed_Coder# 在 Seed_Coder 环境中安装依赖# 升级 pippython -m pip install --upgrade pip# 更换 pypi 源加速库的安装pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simplepip install -r requirements.txtpip install open-webui

7. 下载预训练模型

# 下载预训练权重git lfs installgit clone https://huggingface.co/ByteDance-Seed/Seed-Coder-8B-Instruct

8. 启动 VLLM、OpenWebUI 服务

# 切换到项目目录cd /Seed-Coder# 激活虚拟环境conda activate Seed_Coder# 启动VLLM服务到后台nohup vllm serve /root/sj-data/LargeModel/TextGeneration/ByteDance-Seed/Seed-Coder-8B-Instruct \--port 8000 \--served-model-name Seed-Coder-8B-Instruct \--host 0.0.0.0 \--max-model-len 32768 \--max-num-batched-tokens 8192 \--gpu-memory-utilization 0.95 \--enforce-eager > vllm.log 2>&1 &# 设置环境变量并启动OpenWebUI到后台export HF_ENDPOINT=https://hf-mirror.comexport WEBUI_AUTH=Falseexport ENABLE_OLLAMA_API=Falseexport ENABLE_OPENAI_API=Trueexport OPENAI_API_BASE_URL=http://localhost:8000/v1export OPENAI_API_KEY=' 'export ENABLE_EVALUATION_ARENA_MODELS=Falsenohup open-webui serve --port 8080 > webui.log 2>&1 &# 检查进程ps aux | grep -E 'vllm|open-webui'# 在一个终端窗口中同时跟踪两个日志文件tail -f vllm.log webui.log# 检查端口netstat -tulnp | grep 8080

三、网页演示

出现以下页面,即是模型已搭建完成。

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

Seed-Coder 代码大模型 字节跳动 开源
相关文章