、赛题描述
随着大型语言模型在自然语言处理领域的深度应用,专为多轮对话设计的Llama3-8B-Instruct 模型凭借其融合监督微调(SFT)与人类反馈强化学习(RLHF)的技术特性,在文本生成、代码执行及复杂推理场景中展现出卓越性能。该模型采用高效Transformer架构并支持8k长上下文处理,但其8B参数规模在应对高并发请求时仍面临推理延迟显著增加、显存占用过高及硬件资源利用率不足等核心瓶颈。本次赛题要求基于vLLM推理框架,在异构加速硬件上通过软硬件协同优化策略突破现有性能限制,重点探索模型压缩、算子优化与硬件适配等方向,需在确保模型精度损失≤5%的前提下,显著降低单请求推理延迟并提升系统吞吐量。参赛方案将依据加速效果、工程可行性及技术创新性进行综合评估。
二、评测说明
本赛题中,本次比赛中使用Llama3-8B-Instruct模型下载链接为 sugon_scnet/Meta-Llama-3-8B-Instruct
硬件环境:K100_AI 异构加速卡,限制使用1张加速卡。
DTK软件栈:HIP
三、评测及评分标准
比赛时间截至之前将交卷表、答辩PPT、vLLM源码以及编译生成的dist文件夹(包含whl包)提交校内CG平台。
禁止修改基准测试中的计时代码,最终审核源码。提交的代码需确保可稳定复现。
允许使用fp16,int8数据格式,其他格式需要提前获取明确批准。
交卷表需要包含基本算法介绍、设计思路和方法、算法优化、详细算法设计与实现、实验结果与分析、程序代码模块说明、详细程序代码编译说明、详细代码运行使用说明等。
四、评测标准
本次比赛总成绩100分,其中性能成绩占70%,答辩成绩占20%,工程文档质量占10%。
性能成绩总分100分,分为精度测试和性能测试,在满足精度误差<5%的前提下,性能测试得分权重为80%,精度测试得分权重为20%。
根据组会会提供的基准数据集,精度得分为:
100-((|实测精度-预期精度|)⁄5×100)
精度指标得分误差<5%为达标,
精度指标得分误差0%为100分,0%~5%线性递减;
精度指标得分误差>=5%为0分,满分100分。
在正确性验证通过的前提下,根据组委会提供的基准数据集,将模型在目标硬件平台(单节点单卡)上的生成吞吐量作为评价依据,吞吐高者得分高。生成吞吐得分为:
100×(实测性能⁄理论性能)
五、优化方法
1. 建议使用kv cache int8/int4的量化并优化
2. 建议使用更加高效的KV Cache 管理方式,包括但不限于修改现有的 Paged Attention 代码,使用Flash Attention进行KV Cache管理
3. 建议考虑异构加速硬件架构针对核函数的线程分配、寄存器和共享内 存等的优化
4. 可以借助DTK官方profiler帮助优化达到理论最大性能
本大作业旨在让学生通过实践项目加深对遗传算法和神经网络的理解,并探索这两种方法在解决实际问题中的应用。学生需要开发一个能够利用遗传算法优化的神经网络模型来控制游戏角色完成《超级马里奥》游戏中的特定关卡。
比赛时间 2024/12/26 - 2025/01/24 参赛队伍 2 浏览数 3874本大作业旨在让学生通过实践项目加深对遗传算法和神经网络的理解,并探索这两种方法在解决实际问题中的应用。学生需要开发一个能够利用遗传算法优化的神经网络模型来控制游戏角色完成《超级马里奥》游戏中的特定关卡。
比赛时间 2024/12/26 - 2025/01/13 参赛队伍 85 浏览数 4255为了进一步提高同学综合应用知识的编程能力,适应C语言上机实验期末考核要求,并为后续参加各类竞赛做准备,我们发起限时的3次打榜竞赛;
打榜时间是2个小时,分别12-22(周日)、12-29(周日) 18:30 - 20:30进行,希望大家按照期末考核要求完成这2次打榜竞赛。
为了进一步提高同学综合应用知识的编程能力,适应C语言上机实验期末考核要求,并为后续参加各类竞赛做准备,我们发起限时的3次打榜竞赛;
打榜时间是2个小时,分别在2022-12-17(周日)、12-24(周日)、12-31(周日) 18:30 - 20:30进行,希望大家按照期末考核要求完成这3次打榜竞赛。
为了进一步提高同学综合应用知识的编程能力,适应C语言上机实验期末考核要求,并为后续参加各类竞赛做准备,我们发起限时的3次打榜竞赛;
打榜时间是2个小时,分别在2022-12-17(周日)、12-24(周日)、12-31(周日) 18:30 - 20:30进行,希望大家按照期末考核要求完成这3次打榜竞赛。
从循环章节开始,为了鼓励同学认真学习、多实践、提高编程能力,为后续参加各类竞赛做准备,我们发起每周的打榜竞赛;
每周打榜开始时间是周日晚18:30开始,20:00结束,打榜成绩会根据AC的时间、提交次数、得分排名,同时也会将这个成绩计入平时成绩。
从循环章节开始,为了鼓励同学认真学习、多实践、提高编程能力,为后续参加各类竞赛做准备,我们发起每周的打榜竞赛;
每周打榜开始时间是周日晚18:30开始,20:00结束,打榜成绩会根据AC的时间、提交次数、得分排名,同时也会将这个成绩计入平时成绩。
从循环章节开始,为了鼓励同学认真学习、多实践、提高编程能力,为后续参加各类竞赛做准备,我们发起每周的打榜竞赛;
每周打榜开始时间是周日晚18:30开始,20:00结束,打榜成绩会根据AC的时间、提交次数、得分排名,同时也会将这个成绩计入平时成绩。
从循环章节开始,为了鼓励同学认真学习、多实践、提高编程能力,为后续参加各类竞赛做准备,我们发起每周的打榜竞赛;
每周打榜开始时间是周日晚18:30开始,20:00结束,打榜成绩会根据AC的时间、提交次数、得分排名,同时也会将这个成绩计入平时成绩。
从循环章节开始,为了鼓励同学认真学习、多实践、提高编程能力,为后续参加各类竞赛做准备,我们发起每周的打榜竞赛;
每周打榜开始时间是周日晚18:30开始,20:00结束,打榜成绩会根据AC的时间、提交次数、得分排名,同时也会将这个成绩计入平时成绩。
从循环章节开始,为了鼓励同学认真学习、多实践、提高编程能力,为后续参加各类竞赛做准备,我们发起每周的打榜竞赛;
每周打榜开始时间是周日晚18:30开始,20:00结束,打榜成绩会根据AC的时间、提交次数、得分排名,同时也会将这个成绩计入平时成绩。
为了进一步提高同学综合应用知识的编程能力,适应C语言上机实验期末考核要求,并为后续参加各类竞赛做准备,我们发起限时的3次打榜竞赛;
打榜时间是2个小时,分别在2022-12-17(周日)、12-24(周日)、12-31(周日) 18:30 - 20:30进行,希望大家按照期末考核要求完成这3次打榜竞赛。
从循环章节开始,为了鼓励同学认真学习、多实践、提高编程能力,为后续参加各类竞赛做准备,我们发起每周的打榜竞赛;
每周打榜开始时间是周日晚18:30开始,20:00结束,打榜成绩会根据AC的时间、提交次数、得分排名,同时也会将这个成绩计入平时成绩。
从循环章节开始,为了鼓励同学认真学习、多实践、提高编程能力,为后续参加各类竞赛做准备,我们发起每周的打榜竞赛;
每周打榜开始时间是周日晚18:30开始,20:00结束,打榜成绩会根据AC的时间、提交次数、得分排名,同时也会将这个成绩计入平时成绩。
从循环章节开始,为了鼓励同学认真学习、多实践、提高编程能力,为后续参加各类竞赛做准备,我们发起双周的打榜竞赛;
双周打榜开始时间是周日晚上6点半开始,8点结束,打榜成绩会根据AC的时间、提交次数、得分排名。
从循环章节开始,为了鼓励同学认真学习、多实践、提高编程能力,为后续参加各类竞赛做准备,我们发起单周的打榜竞赛;
单周打榜开始时间是周日晚6点半开始,8点结束,打榜成绩会根据AC的时间、提交次数、得分排名。
为了进一步提高同学综合应用知识的编程能力,适应C语言上机实验期末考核要求,并为后续参加各类竞赛做准备,我们发起限时的3次打榜竞赛;
打榜时间是2个小时,分别在2022-12-04(周日)、12-11(周日)、12-13(周二) 18:40 - 20:40进行,希望大家按照期末考核要求完成这3次打榜竞赛。
从循环章节开始,为了鼓励同学认真学习、多实践、提高编程能力,为后续参加各类竞赛做准备,我们发起每周的打榜竞赛;
每周打榜开始时间是周三中午12点开始,下周一中午12点结束,打榜成绩会根据AC的时间、提交次数、得分排名,同时也会将这个成绩计入平时成绩。
从循环章节开始,为了鼓励同学认真学习、多实践、提高编程能力,为后续参加各类竞赛做准备,我们发起每周的打榜竞赛;
每周打榜开始时间是周三中午12点开始,下周一中午12点结束,打榜成绩会根据AC的时间、提交次数、得分排名,同时也会将这个成绩计入平时成绩。
从循环章节开始,为了鼓励同学认真学习、多实践、提高编程能力,为后续参加各类竞赛做准备,我们发起每周的打榜竞赛;
每周打榜开始时间是周三中午12点开始,下周一中午12点结束,打榜成绩会根据AC的时间、提交次数、得分排名,同时也会将这个成绩计入平时成绩。
从循环章节开始,为了鼓励同学认真学习、多实践、提高编程能力,为后续参加各类竞赛做准备,我们发起每周的打榜竞赛;
每周打榜开始时间是周三中午12点开始,下周一中午12点结束,打榜成绩会根据AC的时间、提交次数、得分排名,同时也会将这个成绩计入平时成绩。
为了进一步提高同学综合应用知识的编程能力,适应期末考核要求,并为后续参加各类竞赛做准备,我们发起限时的打榜竞赛;
打榜时间是2个小时,打榜成绩会根据AC的时间、提交次数、得分排名,同时也会将这个成绩计入平时成绩。
从循环章节开始,为了鼓励同学认真学习、多实践、提高编程能力,为后续参加各类竞赛做准备,我们发起每周的打榜竞赛;
每周打榜开始时间是周三中午12点开始,下周一中午12点结束,打榜成绩会根据AC的时间、提交此处、得分排名,同时也会将这个成绩计入平时成绩。
从7月5日开始,每周都会安排真题训练,之后暑期正式放假后,每周真题实训频次还会加大。
通过比赛形式的实训练习,了解自己实际掌握知识点的情况,以及与实际竞赛要求的差距,同时也能与同校同学进行内部PK,相互督促学习,提升自己的编程能力。
其次,中间还会安排模拟测试,检验同学培训的情况,希望大家能积极认真练习,争取通过努力,9月参加比赛能取得好成绩。
截止到6月份,每周实验成绩将分段统计。
比赛时间 2021/03/26 - 2021/06/13 参赛队伍 65 浏览数 2716截止到6月份,每周实验成绩将分段统计。
比赛时间 2021/03/25 - 2021/06/13 参赛队伍 64 浏览数 3012截止到6月份,每周实验成绩将分段统计。
比赛时间 2021/03/23 - 2021/06/13 参赛队伍 67 浏览数 3087截止到6月份,每周实验成绩将分段统计。
比赛时间 2021/03/23 - 2021/06/13 参赛队伍 63 浏览数 2990为了进一步提高同学综合应用知识的编程能力,适应期末考核要求,并为后续参加各类竞赛做准备,我们发起每周五限时的打榜竞赛;
每周五打榜开始时间是上午10点开始,到中午12点结束,打榜成绩会根据AC的时间、提交次数、得分排名,同时也会将这个成绩计入平时成绩。
从循环章节开始,为了鼓励同学认真学习、多实践、提高编程能力,为后续参加各类竞赛做准备,我们发起每周的打榜竞赛;
每周打榜开始时间是周三中午12点开始,下周一中午12点结束,打榜成绩会根据AC的时间、提交此处、得分排名,同时也会将这个成绩计入平时成绩。