HuggingFace镜像/deepseek-coder-33b-instruct
模型介绍文件和版本分析
下载使用量0

openmind使用教程

import argparse
import torch
from openmind import pipeline, is_torch_npu_available
from openmind import AutoTokenizer, AutoModelForCausalLM
def parse_args():
    parser = argparse.ArgumentParser()
    parser.add_argument(
        "--model_name_or_path",
        type=str,
        help="Path to model",
        default=None,
    )
    args = parser.parse_args()
    return args
if is_torch_npu_available():
    device = "npu:0"
else:
    device = "cpu"

model_path = 'Rose/deepseek-coder-33b-instruct'

tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)

model = AutoModelForCausalLM.from_pretrained(
    model_path,
    trust_remote_code=True,
    torch_dtype=torch.float16, 
    device_map="auto"
)

messages=[
    { 'role': 'user', 'content': "write a quick sort algorithm in python."}
]
inputs = tokenizer.apply_chat_template(messages, return_tensors="pt").to(model.device)
# 32021 is the id of <|EOT|> token
outputs = model.generate(inputs, max_new_tokens=512, do_sample=False, top_k=50, top_p=0.95, num_return_sequences=1, eos_token_id=32021)
print(tokenizer.decode(outputs[0][len(inputs[0]):], skip_special_tokens=True))

1. Deepseek Coder 简介

Deepseek Coder 是一系列代码语言模型,训练数据包含 87% 的代码以及 13% 的中英文自然语言,每个模型的预训练 token 量均达到 2T。我们提供从 1B 到 33B 不等的多种规模代码模型。每个模型均在项目级代码语料上进行预训练,采用 16K 的窗口大小并引入额外的填空任务,以支持项目级代码补全和填充。在编码能力方面,Deepseek Coder 在多种编程语言和各类基准测试中,性能均达到开源代码模型的领先水平。

  • 海量训练数据:训练数据规模达 2T token,其中包含 87% 的代码以及 13% 的中英文语言数据。

  • 高度灵活与可扩展:提供 1.3B、5.7B、6.7B 和 33B 等多种模型规模,方便用户根据自身需求选择最适合的配置。

  • 卓越的模型性能:在 HumanEval、MultiPL-E、MBPP、DS-1000 和 APPS 等基准测试中,性能表现领先于其他公开可用的代码模型。

  • 先进的代码补全能力:采用 16K 窗口大小并结合填空任务,支持项目级代码补全和填充任务。

2. 模型概述

deepseek-coder-33b-instruct 是一个拥有 330 亿参数的模型,基于 deepseek-coder-33b-base 初始化,并在 20 亿 token 的指令数据上进行了微调。

  • 主页:DeepSeek
  • 代码仓库:deepseek-ai/deepseek-coder
  • 与 DeepSeek Coder 对话:DeepSeek-Coder

3. 使用方法

以下为模型使用示例。

对话模型推理

from modelscope import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("deepseek-ai/deepseek-coder-33b-instruct", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("deepseek-ai/deepseek-coder-33b-instruct", trust_remote_code=True).cuda()
messages=[
    { 'role': 'user', 'content': "write a quick sort algorithm in python."}
]
inputs = tokenizer.apply_chat_template(messages, return_tensors="pt").to(model.device)
# 32021 is the id of <|EOT|> token
outputs = model.generate(inputs, max_new_tokens=512, do_sample=False, top_k=50, top_p=0.95, num_return_sequences=1, eos_token_id=32021)
print(tokenizer.decode(outputs[0][len(inputs[0]):], skip_special_tokens=True))

4. 许可证

本代码仓库采用 MIT 许可证。DeepSeek Coder 模型的使用受模型许可证约束。DeepSeek Coder 支持商业用途。

更多详情请参见 LICENSE-MODEL。

5. 联系方式

如有任何问题,请提交 issue 或通过 agi_code@deepseek.com 与我们联系。