当前位置: 首页 > article >正文

核心代码编程-多模态版本的最优调度-200分

在大语言模型推理服务中有多个不同大小的模型版本可供选择。每个模型版本有不同的准确率和推理延迟。给定查询次数N和总时间预算T为每个查询选择一个模型版本使得在不超过时间预算的前提下总准确率最大。输入查询次数N总时间预算T模型准确率 accuracy[i]模型延迟 latency[i]输出最大总准确率同一个模型可以被多次选择0查询数量N100总时间预算T1000准确率 accuracy[i]100表示多个百分点0延迟 latency[i]200模型版本数量10可以考虑采用递归方法完成必须查满N次补充说明示例1输入2,4,[80,90, 95],[1,2,3]输出 180说明最优选择为选取两个准确率为90的模型总耗时为4总准确率为180。示例2输入 2,2,[80, 90, 95],[2,2,3]输出0说明无法有效选到要求的2个模型因此总准确率为0以下是针对您提出的问题使用不同编程语言实现的解决方案。问题描述为给定查询次数 (N)、总时间预算 (T)、模型准确率数组accuracy和模型延迟数组latency需要为每个查询选择一个模型版本可重复选择在不超过时间预算 (T) 的前提下最大化总准确率。如果无法满足条件则返回 0。C 语言实现#include stdlib.h #include limits.h int maxAccuracy(int N, int T, int* accuracy, int* latency, int M) { int** dp (int**)malloc((N 1) * sizeof(int*)); for (int i 0; i N; i) { dp[i] (int*)malloc((T 1) * sizeof(int)); for (int j 0; j T; j) { dp[i][j] -1; } } for (int t 0; t T; t) { dp[0][t] 0; } for (int k 1; k N; k) { for (int t 0; t T; t) { int bestVal -1; for (int m 0; m M; m) { int l latency[m]; int a accuracy[m]; if (t l) { int prevT t - l; if (dp[k - 1][prevT] ! -1) { int candidate dp[k - 1][prevT] a; if (candidate bestVal) { bestVal candidate; } } } } dp[k][t] bestVal; } } int maxAcc -1; for (int t 0; t T; t) { if (dp[N][t] maxAcc) { maxAcc dp[N][t]; } } for (int i 0; i N; i) { free(dp[i]); } free(dp); return (maxAcc -1) ? 0 : maxAcc; }C 语言实现#include vector #include algorithm #include climits int maxAccuracy(int N, int T, std::vectorint accuracy, std::vectorint latency) { int M accuracy.size(); std::vectorstd::vectorint dp(N 1, std::vectorint(T 1, -1)); for (int t 0; t T; t) { dp[0][t] 0; } for (int k 1; k N; k) { for (int t 0; t T; t) { int bestVal -1; for (int m 0; m M; m) { int l latency[m]; int a accuracy[m]; if (t l) { int prevT t - l; if (dp[k - 1][prevT] ! -1) { int candidate dp[k - 1][prevT] a; if (candidate bestVal) { bestVal candidate; } } } } dp[k][t] bestVal; } } int maxAcc -1; for (int t 0; t T; t) { if (dp[N][t] maxAcc) { maxAcc dp[N][t]; } } return (maxAcc -1) ? 0 : maxAcc; }JavaScript 语言实现function maxAccuracy(N, T, accuracy, latency) { const M accuracy.length; const dp Array.from({ length: N 1 }, () Array(T 1).fill(-1)); for (let t 0; t T; t) { dp[0][t] 0; } for (let k 1; k N; k) { for (let t 0; t T; t) { let bestVal -1; for (let m 0; m M; m) { const l latency[m]; const a accuracy[m]; if (t l) { const prevT t - l; if (dp[k - 1][prevT] ! -1) { const candidate dp[k - 1][prevT] a; if (candidate bestVal) { bestVal candidate; } } } } dp[k][t] bestVal; } } let maxAcc -1; for (let t 0; t T; t) { if (dp[N][t] maxAcc) { maxAcc dp[N][t]; } } return maxAcc -1 ? 0 : maxAcc; }Java 语言实现public class ModelSelector { public static int maxAccuracy(int N, int T, int[] accuracy, int[] latency) { int M accuracy.length; int[][] dp new int[N 1][T 1]; for (int k 0; k N; k) { for (int t 0; t T; t) { dp[k][t] -1; } } for (int t 0; t T; t) { dp[0][t] 0; } for (int k 1; k N; k) { for (int t 0; t T; t) { int bestVal -1; for (int m 0; m M; m) { int l latency[m]; int a accuracy[m]; if (t l) { int prevT t - l; if (dp[k - 1][prevT] ! -1) { int candidate dp[k - 1][prevT] a; if (candidate bestVal) { bestVal candidate; } } } } dp[k][t] bestVal; } } int maxAcc -1; for (int t 0; t T; t) { if (dp[N][t] maxAcc) { maxAcc dp[N][t]; } } return (maxAcc -1) ? 0 : maxAcc; } }Go 语言实现package main func maxAccuracy(N int, T int, accuracy []int, latency []int) int { M : len(accuracy) dp : make([][]int, N1) for i : range dp { dp[i] make([]int, T1) for j : range dp[i] { dp[i][j] -1 } } for t : 0; t T; t { dp[0][t] 0 } for k : 1; k N; k { for t : 0; t T; t { bestVal : -1 for m : 0; m M; m { l : latency[m] a : accuracy[m] if t l { prevT : t - l if dp[k-1][prevT] ! -1 { candidate : dp[k-1][prevT] a if candidate bestVal { bestVal candidate } } } } dp[k][t] bestVal } } maxAcc : -1 for t : 0; t T; t { if dp[N][t] maxAcc { maxAcc dp[N][t] } } if maxAcc -1 { return 0 } return maxAcc }Python 语言实现def max_accuracy(N, T, accuracy, latency): M len(accuracy) dp [[-1] * (T 1) for _ in range(N 1)] for t in range(T 1): dp[0][t] 0 for k in range(1, N 1): for t in range(T 1): best_val -1 for m in range(M): l latency[m] a accuracy[m] if t l: prev_t t - l if dp[k - 1][prev_t] ! -1: candidate dp[k - 1][prev_t] a if candidate best_val: best_val candidate dp[k][t] best_val max_acc -1 for t in range(T 1): if dp[N][t] max_acc: max_acc dp[N][t] return 0 if max_acc -1 else max_acc算法说明以上代码均使用动态规划解决该问题创建一个二维数组dp[k][t]表示选择k个查询且总时间不超过t时的最大总准确率。初始化dp[0][t] 00 个查询时准确率为 0。对于每个查询数量k从 1 到 (N)每个时间t从 0 到 (T)遍历所有模型版本如果当前时间t大于等于模型延迟latency[m]且前一个状态dp[k-1][t - latency[m]]有效不为 -1则计算候选值dp[k-1][t - latency[m]] accuracy[m]。更新dp[k][t]为所有候选值中的最大值。最终在dp[N][t](t \leq T)) 中寻找最大值如果所有值均为 -1不可能则返回 0。该算法时间复杂度为 (O(N \times T \times M))空间复杂度为 (O(N \times T))符合问题约束(N \leq 100), (T 1000), (M \leq 10)。

相关文章:

核心代码编程-多模态版本的最优调度-200分

在大语言模型推理服务中,有多个不同大小的模型版本可供选择。每个模型版本有不同的准确率和推理延迟。给定查询次数N和总时间预算T,为每个查询选择一个模型版本,使得在不超过时间预算的前提下,总准确率最大。输入 ﹣查询…...

今天农巡车项目的摄像头云台问题及解决

今天在农巡车双舵机云台项目开发过程中,主要遇到了舵机不转、舵机只动一下就停止、运动过程中抖动严重、实际转动角度不足、扫描逻辑加入后上下舵机失效、左右舵机最后一次不转、程序下载后长时间无响应等问题。首先,在PWM输出阶段发现PB6和PB7的TIM4通道…...

2026毕设求生指南:用产品思维交付你的“第一份作品”

前言:别把毕设当作业,它是你职业起点的“第一份产品” 打开电脑,面对“毕业设计”四个字,你是否感到一片空白? 收藏了无数篇“毕设攻略”,却依然不知道从何下手——看文献像大海捞针,写代码bu…...

STM32F103RCT6国内供应商

在众多STM32F103RCT6的国内供应商中,深圳市粤科源兴科技有限公司以其专业的服务和优质的产品赢得了市场的认可。本文将从产品特性、价格优势以及售后服务等方面详细介绍深圳市粤科源兴科技有限公司为何是您选择STM32F103RCT6的理想合作伙伴。一、产品特性与兼容性产…...

2026年,写给所有还在迷茫的技术人:你的坚持终将闪耀

站在2026年的节点回望,整个互联网行业的寒潮似乎还没完全退去,AI大模型重构业务逻辑的浪潮又拍在了每个技术人的岸边。尤其是对千万软件测试从业者来说,这种迷茫感来得更加具体:手工测试岗位不断被自动化脚本挤压,纯功…...

边缘AI加速:CGRA架构与近似计算技术解析

1. 项目概述在边缘计算和人工智能快速发展的今天,如何设计高能效的硬件架构来支持复杂的神经网络推理任务,成为了一个关键挑战。传统的ASIC方案虽然性能优异,但缺乏灵活性;而通用处理器又难以满足能效要求。粗粒度可重构架构(CGRA…...

5分钟上手京东自动抢购工具:Python脚本让限量商品轻松到手

5分钟上手京东自动抢购工具:Python脚本让限量商品轻松到手 【免费下载链接】autobuy-jd 使用python语言的京东平台抢购脚本 项目地址: https://gitcode.com/gh_mirrors/au/autobuy-jd 还在为抢不到心仪商品而烦恼吗?Autobuy-JD京东自动抢购工具为…...

程序员如何平衡工作与生活?我的“时间块”管理法

作为一名深耕软件测试领域十年的老兵,我见过太多同行陷入"996是福报"的自我消耗:刚毕业的年轻人为了赶项目连续三个月住在公司,三十岁的测试主管在孩子升学夜还在改缺陷报告,干了十五年的资深测试工程师熬出了颈椎病却不…...

还在熬夜起草各类通知?2026便捷AI办公好物,轻松写完正式公文

作为一名在行政岗摸爬滚打五年的职场人,我每天的工作不是泡在各类会议里,就是埋头起草通知、整理纪要。相信不少行政、文秘岗位的朋友都和我有一样的困扰:公司部门多、会议密,每周光是例会、项目协调会、临时部署会就要开三四场&a…...

AI 时代,C# 程序员学 Python 到底值不值?| C#转Python

关键词:C#转Python、Python入门、AI时代、C#程序员、Python学习刷技术社区的时候,你一定见过这种标题:"Python 已成 AI 时代唯一语言""C# 已死,.NET 没未来""不会 Python 的程序员正在被淘汰"说实话…...

入门吉他弹唱怎么选?面单琴技术对比:繁星AC-10 vs 雅马哈FG800

一、测评背景与技术参数1.1 测评样品信息桶型:GA桶 vs D桶面板:西提卡云杉纯单板 vs 西提卡云杉背侧板:桃花芯木纯单板 vs 那都木/奥古曼合板琴颈:奥古曼 vs 那都木指板:玫瑰木 vs 玫瑰木有效弦长:650mm vs…...

西安家谱企业服务商

如果你还认为家谱印刷只是老年市场的“老古董”,那你就错得离谱了。2024年,中国家谱印刷市场规模已突破58亿元,年复合增长率达21.3%,远超普通印刷行业。这背后,是新一代家庭对姓氏文化、家族记忆的数字化与实体化需求爆…...

AI Agent 架构设计与实现原理深度解析

AI Agent 架构设计与实现原理深度解析 摘要 本文深入解析 AI Agent 的核心架构设计、关键组件原理及主流实现模式。从 ReAct 推理循环到记忆系统设计,从工具调用机制到生产级部署考量,全面剖析构建可靠智能体的技术要点。读者将掌握 AI Agent 的底层原…...

医疗学术会议直播,和你想的不一样

从大学阶梯教室到五星级酒店宴会厅,从脊柱外科到肿瘤学术年会,VideoTV团队这3年做了30场医疗学术会议直播。有些坑踩过一次就不会再踩,有些坑每次都能遇到新花样。这篇文章不讲大道理,直接说我们在执行层面踩过哪些坑、怎么解决的…...

选RFID仓储管理系统厂家别只盯着参数!老采购教你用场景思维找到真正靠谱的供应商

很多企业在选型RFID仓储管理系统时,第一反应是翻遍全网找“RFID智能仓储管理系统厂家有哪些”,然后把七八家供应商的参数表摊在桌上逐一对比。读取速度多少、识别距离多远、支持多少标签同时读取——这些指标当然重要,但如果你的选型逻辑仅停…...

【安全基线】测试数据脱敏规范:喂给大模型的数据,如何确保不泄露公司机密?

一、开篇:当“喂数据”变成“泄机密” 2026年4月,一条消息震动了整个AI行业:为OpenAI、Anthropic和Meta提供训练数据的明星初创公司Mercor确认发生安全事件,黑客组织TeamPCP通过污染开源项目LiteLLM的CI/CD流水线,发布了恶意版本1.82.7和1.82.8到PyPI仓库,Mercor正是数千…...

【工具全景】2025全球AI自动化测试工具矩阵库(商业化 vs 开源项目梳理)

前言:测试工程师正在被AI重新定义 2025年,测试领域正在经历一场前所未有的变革。据MarketsandMarkets最新报告显示,全球AI测试自动化市场规模在2025年达到88.1亿美元,预计到2032年将飙升至359.6亿美元,年复合增长率高达22.3%。与此同时,Gartner在2025年10月首次发布了《…...

【能力边界】大模型到底不能做什么?盘点AI在软件测试中的7个致命缺陷

开篇:为什么“会用大模型”≠“会用大模型做测试”? 2026年5月,AI编程工具的渗透速度超乎想象——GitHub Copilot推出永久免费个人版,Cursor的Composer 2让Agent模式成为日常开发标配,Claude Code用终端交互重新定义人与AI的协作方式。据实测对比,Cursor在一次跨模块任务…...

初创团队如何利用 Taotoken Token Plan 有效控制 AI 实验成本

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 初创团队如何利用 Taotoken Token Plan 有效控制 AI 实验成本 对于资源有限的初创团队而言,在产品原型和概念验证阶段&…...

图片去水印怎么做?2026年最全图片去水印工具推荐与方法盘点

在日常工作和生活中,我们常常会遇到带有水印的图片——无论是社交平台的截图、素材库的图片,还是从各类网站下载的资源。水印虽然保护了原作者的权益,但有时也会影响我们对内容本身的使用。那么,图片去水印有哪些实用方法&#xf…...

本地视频怎么去水印?2026本地视频去水印软件推荐与方法合集

不少朋友都会碰到一个烦恼:从抖音、快手、小红书下载的视频都带着水印,自己录制的视频也会被社交平台自动添加水印。想要去掉这些水印用于素材库或后期编辑,却不知道该怎么办。别急,今天就给你盘点2026年最实用的本地视频去水印方…...

抖音图片怎么去水印文字?2026年实测工具推荐及方法完全指南

抖音图片的水印文字问题困扰着很多内容创作者和素材收集者。无论是想保存喜欢的图片、重新利用优质素材,还是为自己的创意项目寻找灵感,去除不必要的水印都是必要的技能。本文为你详细介绍抖音图片去水印文字的多种方法,从专业工具到手机应用…...

CANN ONNX 模型生态兼容实战:从模型导入、算子映射到常见报错排查的全流程指南

一、ONNX 与 CANN 的关系 1.1 模型流转路径 PyTorch/TensorFlow↓ (export)ONNX 模型↓ (ATC 转换)CANN .om 模型↓ (ACL 推理)昇腾 NPU 执行ONNX 是中间格式,ATC 是桥梁1.2 为什么需要了解兼容性 常见痛点:1. PyTorch 新算子 ONNX 不支持2. ONNX 支持但 ATC 不支…...

AI 应用开发到底在开发什么?

很多人刚开始接触 AI 应用开发时,会把它理解成“调用一个大模型接口”。这个理解不能说错,但太浅了。真正能在公司里上线、能产生价值的 AI 应用,往往不是一个简单的聊天框,而是一套完整系统。它要接用户入口,要接业务…...

AI Agent开发工具大爆发:Claude、OpenAI、Google三强争霸

一、开篇:一夜之间,AI Agent开发工具"卷"起来了 说实话,作为一个每天泡在代码里的开发者,我原以为AI代码助手的发展速度已经够快了。但看了过去24小时的AI圈动态,我直呼"好家伙"——Claude Code、…...

(十)工业数据采集与断点续传

一、 工业物联网的致命伤:不稳定的网络环境在实验室或 IT 监控中,网络往往是稳定可靠的。但在工业现场,车间大型电机的电磁干扰、行车移动对光纤的拉扯、以及跨地域厂区的无线网络波动,会导致设备频繁出现“微离线”甚至长达数小时…...

harmonyos-ai-skill:让 Cursor 按 ArkTS 规范写鸿蒙,不再瞎编 API

端侧 Kit、MCP 接线都写过之后,写代码的人仍会遇到:Cursor 生成「像 React 的 ArkTS」、编造不存在的 Kit 名。社区项目 harmonyos-ai-skill 用可安装知识包,把 API 11 / DevEco 6 约束塞进 AI 工具链。 1. 问题:通用大模型不懂你…...

3分钟快速搞定:让Windows资源管理器完美显示iPhone照片缩略图

3分钟快速搞定:让Windows资源管理器完美显示iPhone照片缩略图 【免费下载链接】windows-heic-thumbnails Enable Windows Explorer to display thumbnails for HEIC/HEIF files 项目地址: https://gitcode.com/gh_mirrors/wi/windows-heic-thumbnails 还在为…...

因果叙事、劳动分层与协作秩序

因果叙事、劳动分层与协作秩序人类社会中的许多结构,并不建立在“真实”之上,而建立在“可协作”之上。因果,便是其中最重要的结构之一。世界本身或许只有连续的关联,并不存在天然清晰、边界分明的因果链。但大规模协作无法直接运…...

Vim 常用配置与高效编辑技巧——打造专属高效率编辑器

前言默认 Vim 很难用:无行号、无缩进、不高亮、回车错乱。本篇带你配置企业级通用 Vim 配置,加上高阶编辑技巧,让 Vim 效率吊打普通记事本。一、Vim 全局配置文件用户个人配置:~/.vimrc(只对当前用户生效)全…...