- 博客(30)
- 收藏
- 关注
原创 大模型算法面试
我回答是按照句子的关键词去查找。如果是一个问题,例如“为什么摩擦会生电”,怎么判断这个句子里的关键词呢?前天面试了某外企公司的大模型算法岗,这次准备的很不充分,针对项目问的问题,也没有继续深挖下去。面试的问题已经忘了差不多了,现在赶紧补一下,能记一点记一点。4.如果你们用bm25检索,又用了embedding检索,最后检索出来多少条文本?我回答是按照段落去切分。2.你这里提到了bm25检索器,什么是bm25?必须有一个打分模型。这个打分模型是什么样的?这些问题还没有回答完全,等待补充。
2024-09-26 09:20:25
124
原创 AIGC图片相关知识和实战经验(Flux.1,ComfyUI等等)
最近看了网上的一些新闻,flux.1火出圈了,因此自己也尝试跑了一下,作图的质量还是蛮高的,在这里做个知识总结回顾。
2024-09-16 18:56:57
1202
原创 Datawhale X 魔塔 AI夏令营 AIGC task3 进阶上分-实战优化
GUI 是 “Graphical User Interface”(图形用户界面)的缩写。简单来说,GUI 就是你在电脑屏幕上看到的那种有图标、按钮和菜单的交互方式。ComfyUI 是一个开源的用户界面工具,通常用于图形界面的构建和设计,尤其是在深度学习和数据处理领域。它提供了一套工具和组件,帮助用户创建定制化的界面,以便更方便地与模型和数据进行交互。ComfyUI核心模块分别由模型加载器、提示词管理器、采样器、解码器组成。
2024-08-18 10:37:29
1023
原创 Datawhale X 魔搭 AI夏令营 Task2 代码精读笔记
AI生图技术的背后是一系列先进的工具和技术,这些工具不断发展,使得生成的图像越来越接近真实世界。ControlNet:一种通过添加额外条件来控制扩散模型的AI神经网络结构,它提供了一种增强稳定扩散的方法。例如,可以使用ControlNet将毛坯房照片转换为高清室内装饰效果图,这对于室内设计师来说是一个强大的工具。
2024-08-14 16:41:28
1090
原创 Datawhale X 魔搭 AI夏令营 Task1 从零入门AI生图原理&实践笔记
文生图主要以SD系列基础模型为主,以及在其基础上微调的lora模型和人物基础模型等。接下来,我们简单了解下提示词、lora、ComfyUI和参考图控制这些知识点。
2024-08-12 22:47:48
724
原创 时间序列学习篇
其实在建模的过程中,忽略了剩余项wt的建模。而ma是认为,我观测的序列一直是平稳的,有一个稳定的均值项μ,误差是在有规律的扰动,我们建模这个误差的规律就可以。一般来讲,一个时间序列可能不是稳态的,但是如果隔几天做个差,就可以把周期性突变消除,变成稳态的序列了。所以,我们分析时间序列,首先要对问题建模,找到各个部分,然后分别建模,这样分析问题才是有的放矢。当然之前还建模是用基线+天气+活动等乱七八糟的因子去叠加,但这种本质上是不好的,首先基线这里用的其实是ma的方法,然后天气、活动这些都是扰动项;
2024-07-13 20:51:17
357
原创 预测算法面试
当然全域商品的mape肯定会更偏向低销商品的mape,那么有些重点品销量高,如果以mape来优化,那么重点品的指标肯定被忽视了。这里我是提到了一些有销量关联的商品,然后把两种历史销量都输入到特征里,然后合并成一个logits序列后再分别输出两种历史销量。然后还有调价模型,问我是不是用了运筹优化算法,其实运筹优化算法的比例比较小。这次面试的是一个预测算法的岗位。虽然我对供应链相关的预测很厌烦了,但是这个不是供应链领域的,感觉应该还好。最后的算法题不是很难,后面空间复杂度再优化的改进,在提示下也做出来了。
2024-07-10 11:49:28
362
原创 大模型面试(三)
正负样本不均匀的问题:实际场景,正样本远少于负样本,用了针对样本不平衡的loss比如dice loss,weighted ce等,然后多种loss采用加权和的方式进行融合(问题:有没有其他融合的方式呢?后来使用了HyQE的方法,针对一段文本,提出一个问题和它对应,以补充的问题来建立文档索引。主要是从网上爬取文本数据,然后给公开的审核接口先过一遍,然后训练过程中遇到的难样本,重新标注再训练。有两个困难,一个是RAG的优化,一开始RAG是比较慢的,而且召回率不高;大模型的应用主要是面向to C还是to b的?
2024-07-09 12:53:33
416
原创 大模型面试(二)
大模型灾难性遗忘的问题:回答说我们主要是专用领域大模型,所以对通用问题用其他大模型回答;如果是一般的解决方案,专有数据:通用数据大概在1:10的量级。大模型部署:知道量化,比如8bit量化,原来模型参数是bf16类型,可以转换成int8类型;其他微调的方法:当时脑袋短路,没想出来,事实上还有ptuning,prefix-tuning,adapter等等方案。调了lora的参数rank,还有其他参数可以调的吗?开源大模型:项目里用的是浦语大模型,此外还了解chatglm,llama,qwen等等。
2024-07-05 18:06:15
364
原创 需求预测算法面试
就是类似推荐算法的思想,把商品在门店的周转率组合成矩阵,然后进行矩阵分解,每个店的特征可以用一个k维的向量来表示;深度学习主要是TFT,有一个类似LSTM的短期的时序模块和一个attention的长期时序模块。对模型的优化上线之前,需要经过仿真系统测试一下,看看仿真系统上的表现怎么样,如果业务指标不好就不上线。计算两种商品的共现频率,类似于jaccard index,划分一个阈值,高于阈值的商品使用联合预测方法。深度学习的样本用了多少?2.深度学习时序模型,不用太多样本,用最近的样本,只选取最近2个月的。
2024-07-02 21:46:34
446
原创 语音相关算法学习整理
ctc的对齐是很有用的,利用了单调有序性(就是说语音里文字的前后关系也对应识别文字的前后关系。有的去除了相邻频段的重叠相关部分,就是mfcc特征。采用自回归的方法生成数据,也就是说用识别到的文字作为key,encode编码作为q和v,来生成下一个文字。prefix beam search合并了生成重复项的概率(因为ctc的对齐方式就是允许有重复项,但是最后会把相邻的重复项或空格合并成一个token。rnn的作用是获取语音的上下文信息,获得更加准确的信息,进行一定程度的语义消歧。
2024-06-21 12:16:12
1049
原创 Agentlego技术介绍及Agent的未来探讨
目前已经试过通过agentlego调用文生图插件(只要是基于stable diffusion的模型调用方法都是类似的,例如IDEA的Taiyi中文文生图)和OCR插件(从图像里识别文字)。(这就是作业帮的功能吧)然后在tool选项卡内,可以选择你想使用的插件,如果在下拉菜单里已经包括了你想使用的插件类型,可以直接选择并加载;如果没有,需要查看agentlego的tools/__init__.py里有没有包括该插件,如果没有需要按agentlego的模板自定义一个,并写入__init__.py文件里。
2024-05-05 18:08:04
469
原创 图像识别transformer基础知识和实践
现在文本领域的大模型,如chatgpt对文字的理解能力已经做到很强了。那么怎么让大模型不仅会“说”,而且会“看”,拥有跨图像和文字的多模态能力呢?多模态的算法其实研究了很长时间了,进入大模型时代后是一个质变的飞跃时刻。就是标志着“transformer”这一种模型架构可以一统江湖了。这里限于篇幅,就列出多模态理解的一个重要的论文——CLIP。(原来是openai出品的文章。。现在才发现。果然openai的工作都是有重大影响力的)作者:小小将。
2024-05-03 16:43:10
626
原创 大模型面试经验(一)
我回答说有一个规则判断的方法,如果问到的问题不匹配提问的规则,那么就过滤掉。但是面试官后面的反问里说,业务上是先训练一个意图判断的接口,看看这个是属于哪个分类,然后调用相应的agent。大模型在电商的应用场景主要是导购机器人,这里的问题是如果是连衣裙搭配,大模型怎么回答?疑问:如果是这样的效果,现在的推荐算法,猜你喜欢这种能不能做?项目里还写用到了强化学习,但是其实强化学习的用处不大。这一点回顾简历的时候也发现了,所以算法工程师根据场景选择合适的算法是重要的,不要为了什么高大上的技术去搞一个新算法。
2024-04-29 12:36:52
239
原创 大模型面试知识点总结(四)
bert:在transformer后提出,重要的是提出了预训练这一范式,预训练=数据+训练题目,bert里用的是mask prediction和next sentence prediction。(bert是encoder架构,侧重于全文理解。1.提出transformer:encoder+decoder架构,当时是解决lstm长序列模型遗忘,难以训练的问题。LLaMa:目前出到llama3了,有8B,70B两个版本,是稠密模型(没有MoE)GPT:最强的模型了,闭源的,参数量未知,猜测3.5是20B。
2024-04-28 17:59:33
311
1
原创 大模型面试知识点整理(三)
我们在测试后分析发现,仅仅使用F1-score进行测试评估模型和检索器效果的局限性在于,在本项目的设计中F1-score仅关注单个字符的匹配,忽略了词汇和句子的语义相似性,从而导致较好的答案得到较低的F1-score。在agent执行过程中,用户输入prompt,然后大模型解析prompt提取参数传入插件,插件嵌入参数后执行对应的action,返回结果(或错误代码)给大模型,大模型再加工结果返回给用户。因为langchain里的检索使用暴力检索的方式,性能下降较大,每次响应时长达1分钟。
2024-04-28 17:18:03
1208
1
原创 大模型面试知识点整理(二)
关于finetune,模型训练等为什么要finetune?finetune一般是在base模型或者别人训练好的模型上,为了让模型更适应特定任务或领域某种应用场景,让模型学习输入到输出的映射关系。finetune大模型,成本越来越高,不可能重新训练所有参数。finetune的方法及优缺点:1.lora 假设模型在微调过程中权重的改变是低秩的,lora是改变权重密集层变化的秩分解矩阵来间接训练神经网络里的密集层,同时保持预训练的权重不变。
2024-04-28 12:14:47
894
1
原创 大模型面试知识点整理(一)
答案是不可以,因为在中文语料上训练,一个token可以表示两个以上汉字,而上面的方法一个汉字可能需要3个token表示,影响表示效率。这里错了,bpe和bbpe的区别在于,bbpe是深入到字节层面表示的,因此可以在跨语言表示时不需要专门扩充词表。但是如果遇到非ascii文字较多的情况,表示的token数量还是会过多,从而导致序列过长,推理速度较慢。transformer里的是多头注意力,会多一个输出权重矩阵,所以一共有4个矩阵(把各个头的attention结果concat后过一层linear)
2024-04-28 08:11:02
966
1
原创 强化学习自学总结
转移概率是否已知:就是现实环境是不是一个白盒模型,有白盒模型当然简单,无白盒模型就是采样,基本上是蒙特卡洛算法--蒙特卡洛就是采样空间的概率用频率来近似估算。所谓策略梯度算法,其实就是当值空间很庞大但是策略空间相对小的时候从策略端去优化。Actor-critic 貌似是最新最常用的强化学习算法,和GAN的算法类似,都有一个生成对抗的过程。策略/值函数:策略迭代是反复迭代状态和策略,贪心的角度选取最佳策略,使得值函数和策略都稳定。给定状态空间S,行动空间A,该步对应的回报R(S,A,S')
2024-04-07 11:38:23
326
1
原创 大模型关键部分1:tokenizer
是将word转换成字节级表示后,按相邻字节组共现频率排序,将出现频率最高的字符对加入进编码。注意该步骤可以递归进行,也就是字符对可以继续合并,组成频率更高的字符对。但是,会出现语料的不同导致bpe编码方式不同的问题:例如hello, 可能会拆成hell+o,或者he+llo 如果hello/he出现的频率太高的话。首先把句子string里的每一个字符char转换成对应的unicode,常用的编码方式有utf-8,utf-16等,这里最通用的是utf-8, 因为其他编码方式有比较多的0。
2024-03-29 17:56:07
282
1
原创 leetcode 518题解分析
拿到这个题目,一开始觉得这道题类似于爬楼梯的方式有多少种,想通过dp的方式解决。原来是重复的情况多算了,例如1,2,1和1,1,2这两个算同一种硬币组合方式。那就是把硬币先排好序,并且组合硬币需要严格遵守从小到大或者从大到小的顺序。其实不用,我们只需要记录最后一个用到的硬币是什么,并且下一次用的硬币不能比它小就行了。请你计算并返回可以凑成总金额的硬币组合数。于是我使用Python的解法就列出来了,用了一个二维数组做dp。只用面额 2 的硬币不能凑成总金额 3。表示不同面额的硬币,另给一个整数。
2024-03-25 23:14:41
158
原创 RAG学习总结
这时候需要对用户提问做一下改写,或者将知识库的文本和问题匹配成问答对,然后匹配的时候使用用户的问题和问答对里的问题匹配。是一种更灵活的RAG实现,它允许不同的检索和生成模块根据特定的应用需求进行替换或重新配置,为整个问答过程提供了更丰富的多样性和更强的灵活性。检索:使用相同的编码模型将用户输入转换为向量,计算问题嵌入和文档块嵌入之间的相似度,选择相似度最高的前K个文档块作为当前问题的增强上下文信息。旨在解决朴素RAG中存在的检索质量和生成质量的问题,主要方法是检索预处理和检索结果后处理。
2024-03-19 09:09:52
1636
1
原创 书生·浦语大模型实战营笔记/作业集合链接
笔记/作业标题链接第1节课笔记第2节课笔记第2节课作业第3节课笔记第3节课作业第4节课笔记第4节课作业第5节课笔记第5节课作业第6节课笔记第6节课作业。
2024-01-30 11:33:17
447
1
原创 XTuner 大模型单卡低成本微调实战--笔记
指令跟随微调数据中会有 Input 和 Output 希望模型学会的是答案(Output)而不是问题(Input),训练时只会对答案部分计算Loss。增量数据微调最终要的不同在于:“让LLM知道什么时候开始一段话,什么时候结束一段话。”微调准备工作模型下载数据下载开始微调加速模型转换将得到的 PTH 模型转换为 HuggingFace 模型,即:生成 Adapter 文件夹在本示例中,为:此时,hf 文件夹即为我们平时所理解的所谓 “LoRA 模型文件”将 Hugging
2024-01-27 11:06:00
437
原创 (6)大模型评测教程
在完成本作业时,发现lmdeploy0.2.0部署InternLM2-Chat-7B会报错。还是改用0.1.0版本。使用Opencompass评测,输出结果的csv文件截图如下。可以看到相比于上面的评测结果,部分数据集下降了,部分升高了。
2024-01-27 10:40:02
513
原创 (5)LMDeploy 大模型量化部署实践
图2 使用TurboMind 推理+API调用的方式部署7B模型,并生成小故事。图1 使用TurboMind 推理+命令行本地对话部署7B模型。
2024-01-27 10:18:00
410
原创 (4)XTuner 大模型单卡低成本微调实战
可以看到,当问模型“介绍一下你自己”的时候,会回答“我是leonfrank的小助手”。但是微调后的模型对其他的问题也是只能回答“我是leonfrank的小助手”,失去了在泛化领域回答问题的能力。1)将训练好的Adapter模型权重上传到 OpenXLab、Hugging Face 或者 MoelScope 任一一平台。构建数据集,使用 XTuner 微调 InternLM-Chat-7B 模型, 让模型学习到它是你的智能小助手。
2024-01-26 23:30:07
428
1
原创 (3)基于 InternLM 和 LangChain 搭建你的知识库
在用户输入prompt以后,将用户的prompt也转化成embedding,和向量数据库里的embedding进行匹配,然后将用户的prompt和文本的prompt一起输入大模型,得到模型的回答。b.构建Prompt Template,该 Template 其实基于一个带变量的字符串,在检索之后,LangChain 会将检索到的相关文档片段填入到 Template 的变量中,从而实现带知识的 Prompt 构建。a.通过 Chroma 以及上文定义的词向量模型将上文构建的向量数据库导入进来。
2024-01-25 16:56:02
1759
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人