侧边栏壁纸
博主头像
秋码记录

一个游离于山间之上的Java爱好者 | A Java lover living in the mountains

  • 累计撰写 156 篇文章
  • 累计创建 342 个标签
  • 累计创建 47 个分类

竞赛级编程大模型OlympicCoder-7B之本地部署(Windows篇)

一、核心定位与技术亮点

  1. 竞赛级代码推理能力 OlympicCoder-7B 针对编程竞赛(如国际信息学奥林匹克竞赛 IOI)需求设计,通过 CodeForces-CoTs 数据集(包含 10 万高质量思维链样本)进行训练,覆盖 C++ Python 语言的算法实现。该模型在 IOI 挑战赛中表现出色,生成代码的通过率和效率显著优于同规模模型 。

  2. 真实竞赛场景优化 模型模拟了竞赛中的提交策略优化机制,例如在严格的时限内生成代码并通过测试用例验证,确保生成结果的正确性和效率。其训练数据整合了 CodeForcesDeepMind CodeContests 等竞赛平台的问题及官方解题思路,强化了算法逻辑的精准性 。

  3. 轻量化与高效部署 作为 7B 参数量的模型,OlympicCoder-7B 在保证性能的同时降低了硬件门槛,可在消费级 GPU 上运行,适合开发者和教育机构本地化部署。量化版本(如 Q4_K_M)内存占用仅约 5GB,生成速度可达 45 tokens/s 。

二、性能对比与实测表现

  1. 算法竞赛任务 在 CodeForces 和 IOI 题型测试中,OlympicCoder-7B 的代码生成准确率接近 32B 版本(如 OlympicCoder-32B),且在贪吃蛇游戏等复杂编程任务中生成代码的可执行性显著优于同规模模型 。

  2. 跨模型对比 与同属代码生成领域的 aiXcoder-7B(北大开源)相比,OlympicCoder-7B 在竞赛题目上的表现更优,但 aiXcoder 在长上下文补全(支持 32k 上下文)和企业级开发场景中更具优势 。而与 Magicoder-7B(UIUC/清华联合开发)相比,OlympicCoder 更专注于算法优化而非通用代码生成 。

三、应用场景与局限性

  1. 适用场景
    • 算法竞赛训练:为选手提供代码思路和解题参考。
    • 编程教育工具:辅助学生理解复杂算法实现逻辑。
    • 自动化评测系统:生成测试用例或验证代码正确性。
  2. 局限性
    • 领域专注性:在通用软件开发场景(如 Web 开发)中表现不及专用模型。
    • 数据时效性:需定期更新竞赛题库以保持模型对最新题型的适应能力。

四、本地部署

首先,我们使用python3自带的venv模块来搭建python 虚拟环境。当然,你也可以使用anaconda或者miniconda来构建python 虚拟环境

python -m venv OlympicCoder-env
cd OlympicCoder/Scripts
activate

image-20250331202518195

安装CUDA版本的torch依赖库。

pip install torch --index-url https://download.pytorch.org/whl/cu124

image-20250331203114568

随后,我们安装huggingface开源的transformers

pip install git+https://github.com/huggingface/transformers

image-20250331203939498

再者,安装依旧来自huggingface开源的用于加速推理的accelerate依赖库。

pip install git+https://github.com/huggingface/accelerate

image-20250331204311565

接着,安装huggingface_hub是用于下载模型的。

pip install huggingface_hub

image-20250331204559469

至于notebook这个依赖库是可选的。

pip install notebook

image-20250331210023329

使用以下命令,为我们在浏览器中打开一个标签页,供我们编写ipynb文件。

jupyter notebook
import torch
import transformers
from IPython.display import Markdown, display

model_id = "open-r1/OlympicCoder-7B"

# 正确使用 pipeline
pipeline = transformers.pipeline(
    "text-generation",
    model=model_id,
    model_kwargs={"torch_dtype": torch.bfloat16},
    device_map="auto"
)
prompt="""
Write a python program to calculate the 10th Fibonacci number
"""

messages = [
    {"role": "system","content": "You are helpful assistant!"},
    {"role": "user","content": prompt}
]

outputs = pipeline(messages,max_new_tokens=1024,)
output_text = outputs[0]["generated_text"][-1]['content']
display(Markdown(output_text))

image-20250401224630834

阿里开源了端到端全模态大模型Qwen-2.5-Omini-7B之本地部署(windows篇)
« 上一篇 2025-03-28
一套由 Hugo 驱动的博客主题 hugo-theme-kiwi 开源啦
下一篇 » 2023-12-24

相关推荐

  • 阿里开源了端到端全模态大模型Qwen-2.5-Omini-7B之本地部署(windows篇) 2025-03-28 22:02:43 +0800 +0800
    阿里开源了端到端全模态大模型Qwen-2.5-Omini-7B之本地部署(windows篇) 阿里千问团队开源了到端全模态大模型Qwen-2.5-Omini-7B,一时之间,炸燃了AI界。 而这次千问团队开源的Qwen-2.5-Omini-7B,可谓是将看、听、读及写集于一身的全能型的大模型。 Thinker-Talker双核架构 Thinker模块:统一处理文本、图像、音频、视频输入,通过多模态编码器提取特征并生成语义理解结果。 Talker模块:基于双轨Transformer解码器,实时生成文本与自然语音响应,支持4种拟人化音色切换。 创新技术: TMRoPE时间对齐算法:实现音视频输入的毫秒级同步对齐,视频推理准确率提升3.1%。 FlashAttention-2加速:降低显存占用并提升推理速度,支持8K分辨率图像输入。 全模态统一处理能力 支持文本、图像、音频、视频的端到端输入与输出,无需分模块处理。 实测性能: OmniBench基准测试:综合得分56.13%,超越Gemini 1.5-Pro(42.91%)。 语音合成自然度:Seed-tts-eval评分0.88,接近人类水平。 本地部署 虽然官方给出了最小GPU内存需求,但如果我们不是去分析(Analysis)视频的话,还是在8G显存下把玩的,当然咯,也是可以使用量化版本。 精度 15(s) 音频 30(s) 音频 60(s) 音频 FP32 93.56 GB 不推荐 不推荐 BF16 31.11 GB 41.85 GB 60.19 GB pip uninstall transformers pip install git+https://github.com/huggingface/transformers@3a1ead0aabed473eafe527915eea8c197d424356 pip install accelerate 你得先创建python虚拟环境,可以使用anaconda或miniconda。而我始终使用的是python3自带的venv模块来构建python虚拟环境。 安装qwen-omni-utils这个工具类库。 pip install qwen-omni-utils 由于这个依赖默认安装的是CPU版的torch,所以,我们得先卸载它,而后安装CUDA版本的torch。 pip uninstall torch pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124 我们身处国内,使用modelscope来下载模型,故而,需安装它。 pip install modelscope 推理模型 我们新建一个python文件,输入以下脚本,以实现语音识别的功能。 from qwen_omni_utils import process_mm_info import torch #from transformers import Qwen2_5OmniModel, Qwen2_5OmniProcessor from modelscope import Qwen2_5OmniModel, Qwen2_5OmniProcessor from qwen_omni_utils import process_mm_info model_path = "Qwen/Qwen2.
       AI  
  • 语音识别之whisper本地部署(实时语音之开篇) 2025-03-25 22:02:43 +0800 +0800
    语音识别之whisper本地部署(实时语音之开篇) Whisper是由OpenAI开发的开源语音识别模型,以其多语言支持、高准确率与鲁棒性著称。它通过68万小时的多语言、多任务数据训练,覆盖100+语言,支持语音转录、翻译和语言检测,成为目前最通用的语音识别工具之一。 其核心优势在于: 端到端训练:直接处理原始音频输入,无需复杂预处理,输出包含标点符号的完整文本。 噪声鲁棒性:在嘈杂环境、方言口音场景下仍能保持高精度。 多任务能力:支持语音翻译(如中文转英文)、时间戳标注等复杂任务。 本地安装 我始终使用python3自带的venv来搭建python虚拟环境,当然咯,你也是可以使用anaconda或miniconda来构建python虚拟环境。 python -m venv whisper-env cd whisper-env/Scripts activate 随后,我们安装openai-whisper这个依赖库。 pip install -U openai-whisper 或者直接从github.com仓库获取最新的。 # 或从 GitHub 安装最新版本 pip install git+https://github.com/openai/whisper.git 我们可以看到,所安装的依赖库中包含了tiktoken,故而,就不需要在安装了。 虽然,whisper是可以通过CPU来推理的,但是在电脑设备具有GPU的情况,还是选择torch的CUDA版本。 pip uninstall torch pip install torch --index-url https://download.pytorch.org/whl/cu124 之后,新建一个demo.py文件,写入以下脚本。 import whisper model = whisper.load_model("turbo") result = model.transcribe("audio.wav") print(result["text"]) 首次运行,会去下载模型,而我使用的是turbo,所以自动下载的便是large-v3-turbo。 如果自动下载失败了,那么就手动下载吧。 模型默认加载路径:C:\Users\你电脑的用户名\.cache\whisper https://www.modelscope.cn/models/iic/Whisper-large-v3-turbo/files
       AI  
  • 甭管是个人还是企业都能部署的Mistral-Small3.1,远超同级别的模型 2025-03-19 22:06:43 +0800 +0800
    甭管是个人还是企业都能部署的Mistral-Small3.1,远超同级别的模型 这不Gemma3刚开源出来,立马炸裂了整个“科技界”,还没等它把“热度”持续火下去,Mistral-Small3.1却再次掀起了“科技界”的热度。 Mistral-Small3.1是Mistral AI推出的240亿参数开源多模态模型,基于Transformer架构优化设计,核心特性包括: 多模态支持:支持文本与图像结合的任务处理,扩展了应用场景边界。 128k超长上下文窗口:可一次性处理长篇文档或复杂对话,显著优于前代的32k窗口。 高效推理引擎:采用量化技术优化推理速度,每秒处理150个token,延迟低至毫秒级,适合实时交互场景。 本地化部署能力:支持在RTX 4090显卡或32GB内存的Windows设备上运行,通过Ollama等工具实现轻量化部署. 通过Ollama部署 那么,接下来,我们在本地通过Ollama来部署Mistral-Small3.1。 如果你还没安装Ollama的话,那么,你可以去它的官网进行下载安装,Ollama官网。 我这里选择了量化版,根据自己电脑的硬件设备来下载对应的量化版本。 拷贝命令,直接黏贴到Terminal中。 ollama run MHKetbi/Mistral-Small3.1-24B-Instruct-2503:q6_K_L 主要特性和功能 轻量级:Mistral Small 3.1 可以在单个 RTX 4090 或具有 32GB RAM 的 Mac 上运行。这使其非常适合设备上的使用情况。 快速响应对话帮助:非常适合虚拟助手和其他需要快速、准确响应的应用程序。 低延迟函数调用:能够在自动化或代理工作流程中快速执行函数 针对专业领域进行微调:Mistral Small 3.1 可以针对特定领域进行微调,打造精准的主题专家。这在法律咨询、医疗诊断和技术支持等领域尤其有用。 高级推理的基础:社区在开放的 Mistral 模型之上构建模型的方式继续给留下深刻印象。仅在过去几周,就看到了几个基于 Mistral Small 3 构建的出色推理模型,例如Nous Research 的DeepHermes 24B。为此,发布了 Mistral Small 3.1 的基础和指令检查点,以便进一步对模型进行下游定制。 如果你本地电脑硬件资源有限的话,那么是可以前往Mistral 官方平台上使用,上面是满血版【点击前往】
       AI  
  • 文生音乐开源项目DiffRhythm,8G显存本地部署之Windows篇 2025-03-15 22:06:43 +0800 +0800
    文生音乐开源项目DiffRhythm,8G显存本地部署之Windows篇 一、DiffRhythm:颠覆音乐创作的AI黑科技 DiffRhythm是由西北工业大学音频语音与语言处理实验室(ASLP@NPU)与香港中文大学(深圳)联合开发的开源音乐生成模型,其采用全扩散架构,能够在10秒内生成4分45秒的高质量双轨立体声音乐(包含人声与伴奏) 。该模型以非自回归结构实现极速推理,支持纯文字风格描述生成音乐(如"Jazzy Nightclub Vibe"或"Arctic research station, theremin auroras"等创意场景) ,且最低仅需8GB显存即可本地部署。 技术亮点: 端到端生成:无需多阶段拼接,直接输出完整歌曲; 句级歌词对齐:通过音素映射实现人声与歌词精准同步; 压缩鲁棒VAE:支持从MP3等压缩格式还原无损音质; 多模态输入:兼容文本提示、参考音频、歌词等多类型输入。 本地部署 我电脑依旧是使用python 3.10.9,而仍然使用python3自带的venv模块来搭建python 虚拟环境。 当然咯,你也非得要跟我一样,你也可以使用python 3.11.X、python 3.12.x,用anaconda或miniconda来构建python 虚拟环境,这一点,并没有什么特定要求。 创建python 虚拟环境 你可以在电脑任一磁盘较为宽裕,来构建一个python 虚拟环境。 下载DiffRhythm推理代码 你得确保你的电脑安装好了git,否则的话,将无法通过以下命令进行clone DiffRhythm推理代码。 至于这么安装git工具,就不在这里进行赘述了,毕竟我前几篇文章是有讲解过的。 git clone https://github.com/ASLP-lab/DiffRhythm.git cd DiffRhythm 安装espeak-ng DiffRhythm生成的音乐包含人声演唱的歌词,这需要将文本歌词转化为音素序列(如国际音标IPA),并精确映射到音频的时间轴上。eSpeak-NG作为开源音素合成引擎,在此环节发挥关键作用: 音素解析:将用户输入的歌词(如中文、英文)转换为标准音素表示,例如中文你好 →/ni haʊ/,确保模型理解发音规则。 发音规则库支持:eSpeak-NG内置100+语言的音素规则库,能够处理多语言歌词混合场景(如中英双语歌曲),避免发音错误。 对齐算法依赖:DiffRhythm通过句子级对齐机制,将音素序列映射到潜在表示的特定位置,确保生成的歌声与歌词在时间轴上严格同步。eSpeak-NG提供底层音素时间戳数据支撑这一过程。 我们直接下载espeak-NG官方编译好的安装包,https://github.com/espeak-ng/espeak-ng/releases。 双击刚刚下载的espeak-ng.msi,一路Next下去就好了。 还需将espeak-ng安装路径添加到PATH环境变量中。 安装项目所需的依赖 这一步是必不可少的,毕竟现代的项目都是集成项目,换句话说,一个大项目或多或少需要去集成优秀的框架及工具库等。 pip install -r requirements.txt 在国内,我们还是先设置一个国内镜像源,以便下载依赖库能够加快些,毕竟,pypi.org在国内访问起来真是一言难尽啊,就更别说再去pypi.org下载什么依赖库了。 下载模型 我们可以通过HuggingFace.co的国内镜像站hf-mirror.com进行下载模型。 DiffRhythm-base模型地址:https://hf-mirror.com/ASLP-lab/DiffRhythm-base/tree/main 我们仍然是通过git工具来下载模型,所以,你的电脑得提前安装好git,是很有必要的。 git clone https://hf-mirror.com/ASLP-lab/DiffRhythm-base ASLP-lab/DiffRhythm-base 运行python infer/infer.py 当模型下载完成了之后,这时,我们便可以通过以下命令,来生成音乐了。 python infer/infer.py --lrc-path infer/example/eg_cn.lrc --ref-audio-path infer/example/eg_cn.wav --audio-length 95 --repo_id ASLP-lab/DiffRhythm-base --output-dir infer/example/output --chunked 倘若,你运行了上述命令后,也出现了与下图一样的错误。
       AI  
  • 阿里QwQ-32B本地部署指南:用Ollama轻松运行320亿参数大模型 2025-03-13 20:26:43 +0800 +0800