Skip to content

OSH-2025/MEMO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hi, this is MEMO📝

我们是备忘录小组,这个朴实的名字源于我们的初衷:基于模型预测的内存管理优化——让Agent帮你提前打开网页或应用。

MEMO
│  README.md  
├─feasibility_report	 //可行性报告   
├─final_report 		//最终报告
├─lab4				//llama.cpp 小组实验
├─research_report	 //调研报告       
├─slides				//PPT  
└─src				//项目源码

Team members (排名不分先后)

  • 于宛扬
  • 杨玺禾
  • 韩思琦
  • 贾钰珩

项目进度🎯

阶段 时间 进展 分工
选题 3.5 - 3.8 自行探索/咨询前辈,确定了一些ai+OS的方向
1. 通过模型预测优化内存管理/资源调度
2. 多任务环境下基于ML的进程调度器
3. OS控制台的自动预测代码补全
无明确分工
初步调研 3.9 第一次会议(线上) 确定课题方向为用ai优化内存管理,搭建MEMO homepage,讨论了接下来的任务
1. 不同linux版本的内存管理机制(what & why)
2. 优化思路
3. 可行性考察
所有人:来做1
下周三之前开始推进2、3
初步调研 3.12 初步学习了OS内存管理相关知识,但对于技术优化一头雾水,课后咨询老师,建议(1) 用vllm部署模型,(2)并参考github上vllm相关项目、结合大模型 $*$ 快速上手
$*$: 选择可信度较高的top5大模型,不能尽信,利用它们输出的思路和参考资料
配置并学习vllm,根据建议搜集文献和github案例
初步调研 3.20 第二次会议(线下) 集中讨论并解决vllm安装及使用中的问题,争辩以下问题
1. 为了【更高效部署大模型】而优化OS资源调度的研究更多
侧面说明模型原生操作系统为时尚早 ?我们是否也转向对vllm这类模型OS的优化?
2. 大模型与OS的交互 具体如何设计
获得OS系统级/进程级的内存信息?两者的区别以及与模型的适配
本次周中会议没有讨论完,大家继续搜集文献和github案例
初步调研 3.22 第三次会议(线下)
首先要明确思路1 2的区别并做出选择
1. Ai for OS
2. OS for Ai
咨询了LLM领域的研究生学长,他首先讲解了KVCache目前面对的问题, 综合考虑下我们决定放弃思路2;对于我们的思路1,他提出目前大模型的时延决定了只能做(相对于纳秒级别的内存操作)粗粒度的决策。之后我们在讨论中提出了下面两种发展方向,主要挑战在于工作量和算力
i. 舍弃一些功能,做成垂直领域专长的小模型
ii. 匹配一个粗粒度资源分配的情景(本质还是对用户的行为预测,参考Android系统的swap机制),比如文件访问操作
可行性报告的分工
于宛扬:技术背景-OS内存管理/量化技术/(基于ML)优化
杨玺禾:需求分析(硬件/软件/数据)
韩思琦: 技术背景-LLM原理/训练/优化/与OS的整合
贾钰珩:可操作性/经济可行性/风险分析
调研报告 3.27 第四次会议(线下)
集中研读了往届作业的github,分析和我们课题的关系、以及可以学习利用的部分
拟定了调研报告的框架、主体部分的分工,讨论写作时要注意的问题 $*$,并采用USTC Latex协作
调研报告主体分工
贾钰珩: 1.1 Linux 系统的内存管理
韩思琦: 1.2 LLM及部署
杨玺禾: 2.1 利用LLM优化Linux内存管理
于宛扬: 2.2 LLM与OS的交互
调研报告 3.31 第五次会议(线下)
根据本周一上课时老师对其他小组报告的点评和建议,以及周末调研的成果,确认接下来的任务是继续完善调研报告,之后研讨以对齐认知。
调整了内容顺序( 2.1 和 2.2 对调)和详略(压缩1.2对KVCache的阐述,增设1.3 LSTM(长短期记忆)预测算法)
调研报告主体分工
贾钰珩: 1.1,1.3,深度学习算法的数学原理
韩思琦: 1.2 ,深度学习算法的数学原理
杨玺禾: 2.1,相关工作,前瞻性
于宛扬: 2.1,相关工作
可行性报告 4.3 第六次会议(线下)
从头梳理了调研报告的内容(一些Typo还未修正),轮流分享调研结果,本次会议主要成果:
1. 研讨论文疑难杂点。韩思琦概述了深度学习算法的脉络和方法,贾钰珩讲解RNN(递归神经网络)、LSTM的设计和流程,大家一起讨论了Precision, Recall, F1等评价指标。
2. 调研成果对接。杨玺禾调研的【应用预测】文献中提到从电脑抓取的上下文缺乏语义信息,但于宛扬调研的【AIOS】中已经开发并集成了LLM-based语义文件系统,动摇了这一局限性,可行性大大提高。
所有人:阅读2024年的可行性报告,梳理框架
可行性报告 4.6-4.10 QQ群内完成:可行性报告及实践分工
于宛扬:构建数据集, AIOS在windows+ollama部署
杨玺禾:AIOS在linux+vllm的部署,LSFS的扩展
韩思琦:AIOS在windows+API部署,深度学习相关技术
贾钰珩:模型训练相关技术
【备注】经历了一些动态调整,左侧是最终分工
可行性报告 4.10 第七次会议(线下)
集中研讨并解决了AIOS部署和LSFS实操的问题( TODO:AIOS的官方文档写的过于简略,遇到的问题和解决方案可以整理在手册中供后来者参考
讨论已经完成的数据集部分报告,就首要问题达成一致:扩展LSFS,至少需要支持可执行文件和操作。
中期汇报 4.17-4.22 4.17 第八次会议(线上)
中期汇报分工,准备讲稿及对应PPT
4.22 第九次会议(线下)
讨论4.21周一其他小组的汇报,整理AI+OS相关建议,新增调研任务:检索增强生成(RAG),并入课题思路;
组内汇报,并整合PPT
中期汇报
韩思琦:研究背景
于宛扬:可行性研究/数据集
杨玺禾:可行性研究/LSFS扩展
贾钰珩:课题框架梳理,继续调研大模型训练技术
中期调研 4.23 汇报完成🙌✨ 整理老师和同学们的建议,规划下一部调研:
1. 学习大模型微调 【优先选择微调,RAG次之】
2. 学习数据集构建
调研
韩思琦:大模型微调
贾钰珩:数据收集和处理
实践🚩
五月需要取得初步成果
5.2-5.8 第10次会议(线上)
韩思琦根据调研成果,讲解微调技术并复现甄嬛传agent,提出问题:由于缺少物理GPU,部分库无法调用; 贾钰珩讲解主要的系统审计方法。
分工如右侧
第11次会议(线上)
请假:贾钰珩(赴京考试)
讨论五一期间的学习成果,试运行用户程序获取和数据分析的python脚本
韩思琦:整理调研结果上传github
贾钰珩:复现子系统审计主系统脚本
杨玺禾:云GPU环境配置
于宛扬:处理进程记录为数据集的格式、程序
🚩数据收集与处理 5.9-5.22 第12次会议(线下)
修改数据收集脚本,处理其中输出重复、无意义(系统自动调用etc.)、错误(直接读取网页历史导致etc.)的bug,调整数据分析脚本的键值对,生成信息更丰富的数据集
第13次会议(线下)
数据收集和分析的脚本定型,在云主机上尝试用不同的模型进行微调
🚩大模型微调 5.23-5.29 第14次会议(线下)
基于组员三人(周三,共计10+h)的数据集lora微调模型 Meta-Llama-3___1-8B-Instruct ,输出用户的下一个操作及准确时间,准确率可达33%,随数据量增加而提高;
根据llm输出的利用python实现了一个简单的程序调用脚本,成功打开了预测的网页
当前问题:1. 由于总体数据量偏低(十几分钟即完成微调),无法分辨出用户数目的增加与预测准确率的关系 2. 下一步考虑大模型调用系统API,即将llm与程序调用脚本连接起来,之后再逐步实现 实时监测与调控用户操作 3. 微调0.6B小模型,探索本地运行可行性
所有人:继续收集数据
韩思琦:1
贾钰珩:3
杨玺禾:2
于宛扬:2
🚩优化工作 6月 多次线下集中工作,本月完成了:
1. 模型训练及LoRA参数调整
2. 三个人共两周左右的行为数据(10,000余条活动记录)最终总体准确率达到73.14%
3. 整合现有模块,实现实时读取行为、发送给云主机,接收反馈并即时调度
4. 调研强化学习,引入用户评价来模拟强化学习
5. 本地微调Qwen3-0.6B成功,用较小数据集微调,推理结果逼近8 B
韩思琦:1 2 3
贾钰珩:5
杨玺禾:2 4
于宛扬:2 3
🌕期末汇报 6.30
7.1 - 7.3
Future work: 强化学习 & 安全 & 泛化
完成lab4;整理并撰写final_report

About

MEMOr(gan)ize in a smart way !

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •