https://image.familystudy.cn/image/generic/avatar.jpg

消失在彩霞里的博客

面试经验

简历面试 绩点 本科最擅长什么科目,最不擅长什么科目? xxx课为什么分数不高? 项目经历 服务外包大赛中,你作为队长在合作过程中有没有困难,如何解决? 国家级大创项目做了什么?现在处于什么阶段?你将负责什么? 项目有没有正式上线? 科研经历 这篇论文主要的创新点是什么?为什么会想到这个idea?你参与的工作是什么? 为什么会写这篇论文?论文的形成过程有没有老师的指导? 你什么时候开始参与科研?为什么只发表了CCF C论文?这篇完成用了多久? 为什么用GAT传播,GAT和GCN有什么区别? 冷启动问题 你为什么选择了这个方向?有何研究价值? 专业技能考察 pytorch中如何实现维度改变?如何互换维度? 如何实现学习率调度器 batch_size的作用是什么?请讲出两类分批方法 滑动窗口法、分段法 num_workers的作用是什么? 用于指定在加载数据时要使用的子进程(worker)数量。它的主要作用是通过多线程或多进程来并行化数据加载,从而提升训练效率,尤其是在处理大型数据集时。 如何在 PyTorch 中实现模型的梯度累积?这种方法适用于什么场景? 时间序列预测中能否使用交叉验证划分训练集和测试集? 不能。时间序列具有时序依赖,如果交替划分,没有意义。一般把前面的作为训练集,后面的为测试集 是否了解RAG框架?讲一下RAG和微调的区别,和各自的优势。 专业课知识 算法题 其他 本科期间你是如何平衡学业、学生工作和竞赛科研? 作为一名双非学生,你认为自己有什么特点? 你认为自己有什么缺点? 你为什么会选择直博?未来有何职业规划?

RAG论文精读

1.《CODERAG-BENCH: Can Retrieval Augment Code Generation?》 前置条件: 语言模型已经被证明具有优秀的生成代码能力,RAG在文本任务中取得成功。若将两者合在一起能有好的效果吗? 论文的工作: 探索在何种场景下检索能够有益于代码生成模型?存在什么挑战? 首先策划了一个综合评估基准,CODERAG-BENCH。 三类代码生成任务:包括基础编程、开放领域、库级别的问题。 将五个方面的文档聚合起来检索上下文。 发现: 当前的检索器存在困难去抓取上下文。希望CODERAG-BENCH可以作为一个有效的测试台,以鼓励进一步开发高级面向代码的RAG方法。 思考: 和夏令营任务相结合,此时我们的任务是生成循环代码。依靠的上下文是毕设论文中研究出来的数据集。 研究过程 共收集了九千代码问题和25000000检索文档, CODERAG-BENCH的特点:任务多样性、严谨可复现的评估、统一接口。 RAG减少了在模型参数[2]中包含所有知识的需要,从而在各种场景[13]中提高精度,即使没有额外的训练[31,25]。 论文贡献: 提出了全新的评估基准(CODERAG-BENCH),来弥补鸿沟并增强在替代范式检索增强代码生成的研究。 NDCG、Precision和Recall 尽管代码生成模型可以从多个场景中的地面真实文档中获益,但当前的检索模型在选择准确的文档方面存在困难,特别是对于开放域任务。与此同时,许多代码生成模型由于使用检索到的文档的上下文能力有限,或者有效地执行RACG的能力有限,因此获益甚微。 (i)不同的任务:代码生成涉及在不同级别(行、功能、存储库)和不同域(关闭、打开)上操作的通用任务。 (ii)严格和可重复性的评估:我们提供高质量的地面真实文档注释,以实现检索评估,并对所有代码生成任务进行基于执行的评估,以严格衡量功能的正确性。(iii)统一接口:虽然当前的数据集使用异构管道,但我们的代码库为检索、增强生成和评估提供了一个统一的接口。 2.《Automatic Semantic Augmentation of Language Model Prompts (for Code Summarization)》 大语言模型提示词自动语义增强 论文贡献 使用来自代码的事实进行软件工程任务的ASAP方法。 我们对代码-002、文本-003上的代码总结任务进行了评估。和GPT-3.5-turbo模型对抗使用香草BM25构建的几个镜头提示基线(第4.1节)。 我们发现,ASAP方法在统计学上显著提高了在代码摘要任务上的LLM性能。在几乎所有的情况下,我们观察到几乎或超过2个BLEU的统计学显著改善;对于PHP,我们(据我们所知)在这个具有挑战性的数据集上首次打破了30个BLEU。 我们发现,ASAP也可以提高代码完成任务的性能。 3.《From Local to Global: A Graph RAG Approach to Query-Focused Summarization》 图RAG方法,用于聚焦于询问的摘要 Query-Focused Summarization: QFS QFS 会根据用户提供的查询,提取与之相关的核心信息,省略与查询无关的内容。 论文核心图 实现过程 提出了Graph RAG方法,基于LLM汲取知识图谱的全局摘要。 为了评估这个方法,我们使用一个LLM去生成多样的集合,包含以活动为中心的意义构建问题,从短小的描述 中间的、低等级的社区摘要表明优秀的性能,超过源文本摘要在相同的metrics,并消耗较少token。 构建步骤: 源文档->文本语料库 文本语料库->元素实例 元素实例->元素摘要 元素摘要->图社区

RAG论文精读

1.《CODERAG-BENCH: Can Retrieval Augment Code Generation?》 前置条件: 语言模型已经被证明具有优秀的生成代码能力,RAG在文本任务中取得成功。若将两者合在一起能有好的效果吗? 论文的工作: 探索在何种场景下检索能够有益于代码生成模型?存在什么挑战? 首先策划了一个综合评估基准,CODERAG-BENCH。 三类代码生成任务:包括基础编程、开放领域、库级别的问题。 将五个方面的文档聚合起来检索上下文。 发现: 当前的检索器存在困难去抓取上下文。希望CODERAG-BENCH可以作为一个有效的测试台,以鼓励进一步开发高级面向代码的RAG方法。 思考: 和夏令营任务相结合,此时我们的任务是生成循环代码。依靠的上下文是毕设论文中研究出来的数据集。 研究过程 共收集了九千代码问题和25000000检索文档, CODERAG-BENCH的特点:任务多样性、严谨可复现的评估、统一接口。 RAG减少了在模型参数[2]中包含所有知识的需要,从而在各种场景[13]中提高精度,即使没有额外的训练[31,25]。 论文贡献: 提出了全新的评估基准(CODERAG-BENCH),来弥补鸿沟并增强在替代范式检索增强代码生成的研究。 NDCG、Precision和Recall 尽管代码生成模型可以从多个场景中的地面真实文档中获益,但当前的检索模型在选择准确的文档方面存在困难,特别是对于开放域任务。与此同时,许多代码生成模型由于使用检索到的文档的上下文能力有限,或者有效地执行RACG的能力有限,因此获益甚微。 (i)不同的任务:代码生成涉及在不同级别(行、功能、存储库)和不同域(关闭、打开)上操作的通用任务。 (ii)严格和可重复性的评估:我们提供高质量的地面真实文档注释,以实现检索评估,并对所有代码生成任务进行基于执行的评估,以严格衡量功能的正确性。(iii)统一接口:虽然当前的数据集使用异构管道,但我们的代码库为检索、增强生成和评估提供了一个统一的接口。 2.《Automatic Semantic Augmentation of Language Model Prompts (for Code Summarization)》 大语言模型提示词自动语义增强 论文贡献 使用来自代码的事实进行软件工程任务的ASAP方法。 我们对代码-002、文本-003上的代码总结任务进行了评估。和GPT-3.5-turbo模型对抗使用香草BM25构建的几个镜头提示基线(第4.1节)。 我们发现,ASAP方法在统计学上显著提高了在代码摘要任务上的LLM性能。在几乎所有的情况下,我们观察到几乎或超过2个BLEU的统计学显著改善;对于PHP,我们(据我们所知)在这个具有挑战性的数据集上首次打破了30个BLEU。 我们发现,ASAP也可以提高代码完成任务的性能。 3.《From Local to Global: A Graph RAG Approach to Query-Focused Summarization》 图RAG方法,用于聚焦于询问的摘要 Query-Focused Summarization: QFS QFS 会根据用户提供的查询,提取与之相关的核心信息,省略与查询无关的内容。 论文核心图 实现过程 提出了Graph RAG方法,基于LLM汲取知识图谱的全局摘要。 为了评估这个方法,我们使用一个LLM去生成多样的集合,包含以活动为中心的意义构建问题,从短小的描述 中间的、低等级的社区摘要表明优秀的性能,超过源文本摘要在相同的metrics,并消耗较少token。 构建步骤: 源文档->文本语料库 文本语料库->元素实例 元素实例->元素摘要 元素摘要->图社区

代码优化论文精读

1.《Should AI Optimize Your Code? A Comparative Study of Current Large Language Models Versus Classical Optimizing Compilers》 论文内容 该论文进行了一个对比研究,将大语言模型和经典优化编译器性能作对比。 比较对象:GPT-4.0、CodeLlama-70B、传统优化编译器 论文的发现:LLM具有胜过现有优化器的潜力,但往往在长代码任务中生成错误的代码。 CodeLlama-70B在两者中最优,2.1倍。 CETUS是最好的优化编译器,1.9倍。 论文贡献 对比LLM和传统优化编译器性能,使用实际应用案例 介绍了自动化验证AOT生成代码的正确性和性能的机制 我们提出了一个并行计算挑战基准测试套件(PCB)v1.0,包括20个用于评估AOTs能 力的用例。 论文思路 LLM和传统编译器的优劣势: 传统编译器有很多挑战和机遇包括静态分析等 大语言模型: 在捕捉语言学意义和理解语义属性的关键方面具有局限。 擅长代码生成、问题修复和代码完善,但无法保证正确性 提出疑问: AI驱动的模型你能否彻底改变我们处理代码优化的方式? 论文调研了llm表现优劣得不同情境,最后,我们开发了一个评估自动优化工具的环境作对比。 GPT-4.0和CodeLlama-70B比较评估 结果和CETUS, PLUTO, ROSE对比。使用两种prompting策略。 coT策略(Chain of Thought) Instructing (IP) - “Given the program below, improve its performance using OpenMP”. IP:给定以下程序,使用OpenMP提升它的性能 • CoT - “Given the C program below, think of a way how to optimize its performance using OpenMP” CoT:给定以下程序,思考一种方式如何使用OpenMP优化它的性能

部署技巧——clash

clash 配置教程 部署AI模型经常需要从github和huggingface上clone文件,然而每次本地下载后拷贝服务器十分麻烦且耗时,尤其当大模型有几十个G时。 因此有必要直接在linux服务器上配置clash。 步骤 下载clash-for-linux 配置.env文件 1 vim .env 把CLASH_URL设置为你的Clash订阅地址。 启动clash 1 sudo bash start.sh 配置clash.sh文件 1 2 3 vim /etc/profile.d/clash.sh # 把上面所有的 127.0.0.1 修改为自己的 ip 地址,保存退出 source /etc/profile.d/clash.sh

部署技巧——nginx(前端、图床等)

nginx配置教程 1 2 cd /etc/nginx/conf.d vim src/myblog.conf 输入以下代码: 1 2 3 4 5 6 7 8 9 10 11 # myblog.conf server { listen port; server_name localhost; location / { try_files $uri $uri/ =404; root /home/hxy/myblog/public; index index.html index.xml; } } nginx无法解析 没有赋予html目录权限 一般放在/usr/share/nginx/xxx 若是其他目录,需要手动赋权。确保nginx用户可正常访问 域名解析错误 云服务器未打开 配置https 申请https证书 免费获取证书 ohttps网站 1 2 3 4 5 6 7 8 server { listen 80; server_name your-domain; rewrite ^(.