补习HMM,对其的一些理解与思考
为什么要去研究HMM?首先,HMM这个概率模型,在NLP领域算是一个比较基础的,但很有价值的模型。它的主要思想是:概率分布及其能导向什么结果。关于HMM的理解,在具体的数据场景下是比较容易的,网上也有不少介绍的blog、视频,因而这里不再赘述了。
之前,记得在自然语言处理的课程上,是有提到过HMM模型的,依稀记得是用在句法分析还是词性标注上面。但是由于老师死气沉沉讲的不好,我们院系设置的又不是必选,因而听的也不甚上心,最后也果然没考到,HMM自此埋下伏笔,成为了我的一个知识盲区。后来,应用场景大多是生成文本、或是对文本的内容进行分析,已经没有用到HMM的必要了,像是jieba使用HMM模型作为它的分词器,我只需要懒人使用即可,重点还是后面的内容理解与分析上,因而再也没有接触过这个东西。
实际上,最近,由于准备秋招,深感自身基础不足,在看牛客上的面经,会需要手撕一些基础的分类、聚类、transformer等一些算法。说实话我在这方面是没有准备过、相当薄弱的,因而需要将这些手撕都写一下,我也因此在GitHub上开了一个仓库专门做这个事情。
HMM,本来是不在我的计划范围之内的。 ...
秋招大失利,深夜破防记录
首先,梳理一下逃离北京之后,我大概做了什么
去LF那里躺了一周,之后一直躺家里。期间投、面了一些暑期实习,结果均以早早失败告终。究其原因,感觉在于八股、代码不熟悉,很菜。因而,这段时间主要又刷了leetcode的hot 100,大概2-3遍。由于在家有吃有喝没人逼迫,全凭自觉,因而刷的慢;到了八月,总算有了危机意识,开始着手准备八股了,却对于秋招的提前批也没有多投。是懒惰?抑或是自卑、畏惧?无论如何,是要开学回学校了,正式批,瞄准中、大的互联网厂,基本上都投了一遍;后面又投了几批。
那么,投递的结果怎么样呢?基本是全挂,笔试A的不够多,选择题之类的大概又都又一半是模模糊糊印象不深刻只能嗯猜,因而笔试最终结果肯定不是很好。但是让我去提升,一时半会也无法速成。像是各种排序算法的流程细节、每一轮的迭代结果;像是分类、聚类基本算法的一些八股;像是C++/C的老旧的、大学课程式的输出结果判断;像是机器学习各种方法的优缺点、适用场景等……————都是一些零零散散,但是不深入理解一下的话毫无作用的东西。然而相对于真正的重中之重:NLP和LLM方面的代码手撕与细节八股,重要程度却又 ...
DailyRecord-June
6.1-6.2周六,中午和叶阿姨和她的女儿一起在中关村附近一个饭店吃饭,看上去还挺高档的。吃了北京烤鸭、麻辣牛蛙、豆腐煲、宫保鸡丁……味道还可以。和叶阿姨、她女儿聊天,聊了很多。在我的朦朦胧胧的印象里(也许不是印象,而是我脑部的期许?毕竟那时候我才3、4岁),叶姐姐是一个温柔而活泼的大姐姐。时过境迁,到了现在,温柔仍然是温柔,已经不再活泼。从她的面庞中、眼神里,似乎感觉到她也有些感慨、或是悲伤,隐隐可见泪光。叶阿姨的女儿是高三,马上高考。但是她似乎有压力但不大?或许是我没能看出她笑容下面隐藏了什么吧。总之,是一个活泼可爱的小姑娘,穿搭、皮肤质量之类的与我们当时完全不同。记得当时整个高中生涯似乎都是瘦巴巴、苦哈哈的,哈哈!从姑娘的身上,我隐隐也看见了过去自己的影子:无需考虑生活,有着许多不切实际而有趣的理想、兴趣,也许会实现、也许不会实现。例如深山老林生存式隐居、周游世界……当然,北京小姑娘的条件肯定比我小镇做题家好很多,也许都能实现也说不定?更加感叹人与人的不同,小姑娘目前为止已经去过不少地方了,去年好像还独自去旅游过……吃完饭,小姑娘带着我们去打桌游,一个叫什么法师的桌游。玩了大概一 ...
DailyRecord-May
5.1 —— 5.55.1 五一假期的第一天。再说一遍:我恨调休!我恨调休!昨天晚上21:46的火车,早上6:35火车到站。只有站票,我和LT带了马扎上去,结果发现能放马扎的地方也很少。在4月中旬的时候,我和LT说一起回家,聊到站票买马扎的事情,我说我买两个,他不用买直接过来就行,结果他忘了自己也买了一个。于是多出了个小马扎。我是14车,LT是15车,他在15车帮我占了个位置,结果发现是厕所门口,而这个厕所的门还坏了,乘务员过来修反而把门直接给搞下来了;中途,LT试图将多余的马扎以15R推销出去,结果失败了🤣🤣🤣🤣。每节车厢都带个厕所,因而站票大抵是都要在厕所附近窝着的我是不想当老八的,正好听闻说餐车那边有空位,因而我拎着我的两个小马扎过去找位子。到那儿发现餐车坐满了,估计都是站票过来买饭送座位的。餐车的尽头比较空旷,只有一个哥们儿在地上铺了个纸躺着。我在这儿蹲了下来,LT怕被赶走,让我看看情况,半小时没人赶就叫他。确实没人赶,然后他就过来了,过来一合计,吃点东西,然后去问有没有空位。乘务员腾了两个相邻的位子给我们,然后96r,没得选择,两人吃鱼香肉丝饭。我吃了一碗半,LT吃了 ...
DailyRecord-April
4.1上午,把qwenllm/qwen的docker image放到服务器上了,但是下午发现模型没放,还要下载72b-chat的模型再放上去;而且这个东西好像要自己写应该服务端py文件?下午复习了一下long-context的论文,看了retrieval的一些如longllama,温故知新,没跳出已有框架的同时,感觉理解更深了晚上,和SH打了一把游戏,然后和沈老师开周会,汇报了一下自己目前的一些理解。得到下一步的研究内容是:把retrieval 的方式在大模型上都实现一下之后,继续和SH、NJ一起打了大乱斗
虽然是愚人节,但是无事发生
明日任务:阅读论文;学习修改大模型的方法
4.2 草!这一天干啥了我给忘了!原来日记漏了一天,4.8才发现! 好像还是在看代码和教程?
4.3上午,阅读qwen的model_qwen.py文件,尝试理解模型结构,寻找修改方法。最终目的是将kv retrieval加入到模型中去;目前没什么头绪,是直接改model文件,还是写个新的继承一下?继承的话如何与已有文件保持联系和交互?qwen的py代码没有啥注释,突然想到可以看一下tran ...
DailyRecord-March
3.20入职的第一天,接到的任务是:把闻达的demo在服务器上用docker给搭建出来。于是我在服务器上先创建了一个miniconda3的docker,然后使用conda安装了一些依赖、git项目等;其间遇到一个问题:docker+conda后,尽管bash上显示是root,但是好像是一个虚拟的root,没有sudo等的执行文件,需要重新安装一下。此外,公司的网有点差,清华源1Mb、不用清华源只有几十kb。因而进展较慢部署步骤进行到了模型下载这一步,但是因为网不好所以连不上hugging face,需要搭梯子。下班了,明天再搞!
明日任务:搞定梯子,下载好生成模型和embedding模型,最终完成demo,并调整远程访问展示
3.21今天签合同了。搭梯子问题卡了好久😡。这国企是一天也不能待了,网差的要死。最后还是前辈哥帮忙解决的。但是terminal的命令,下载的那些怎么都那么几把慢啊!网速是压力之源!更悲剧的是:今日闻达demo部署至最后一步无法运行…………..可能是docker的问题,因而将其删除从头开始搭建。如果明天仍然不行,则尝试不用docker直接在服务器上部署 ...
第一次实习前的一些准备工作与知识储备
千帆杯原生应用挑战赛
大赛主旨:大赛以“创意无限·生成未来”为主题,紧密围绕当前AI技术的前沿动态和应用趋势,借助百度智能云千帆AppBuilder和ModelBuilder两大智能开发助手,鼓励参赛者打造出更多具有创新性、实用性和社会价值的AI原生应用
第一期:游乐场排队规划助手:赛题聚焦春节假期游乐园排队效率问题,鼓励开发者利用 AI 能力施展“时间魔法”,打造一款具有实用性的“游乐场排队规划助手”,帮助游客更好地了解乐园的排队情况,设计个性化的游玩路线,在有限的时间内获得最“High”的体验,同时为管理者提供优化运营策略的决策支持。
此大赛没有规定数据集,需求成果是使用主办方框架的应用程序。参赛者需要自己获取相关数据,如大赛第一名使用的是香港迪士尼数据
第二期:生成一个可制作贺岁文案内容的精调模型(限定使用ERNIE Speed,通过对模型精调使其保持原有能力的同时,具备准确理解并执行文案创作中创作长度相关指令的能力)。
此大赛提供了少量数据集(56)条,同时要求对数据集进行扩展(最终至少需要100条数据),数据为json形式
与第一期不同,此期是方向特化的微调 ...
云服务器使用及QQ机器人搭建
1. 服务器选择三个主流的:阿里云、腾讯云、华为云。萌新的我需要三选一华为云没用过。阿里云学生认证可以白嫖,腾讯云学生认证是打折,看着蛮便宜,但是这个时间买是1.9折,去年11月是1.1折。
服务器使用阿里云,因为可以白嫖7个月,新手上路还是找免费的试一下比较好,随便造,造坏了也不心疼。
cpu、内存这些东西就是看钱的啦,根据需要购买合适的就行。系统这个东西,不太清楚是怎么选择的。本人选择Ubuntu的依据是:尽管windows很熟悉,但是几个资深程序员的哥们儿用的都是Linux内核系统;此外,Liunx相对于windows的内存占用要小太多了,服务器还是要抠抠搜搜一点。Linux提供服务好像也蛮方便的
2. 服务器操作跟着阿里的教程走下来,基本上就会怎么操纵服务器了。远程连接服务器有两种方式:Workbench和VNC,前者似乎只能用命令行输入,后者则可以安装GUI。
实际上,不同云服务商对于自己云服务器的名称和操纵方式是有所不同的。
3. 图形界面的安装我的一个朋友对我说,只有当你能够用命令行完成你想要的所有操作后,你才算是真正懂计算机,我觉得很有道理。目前还没有这个能力,先用带G ...
AI绘画初步尝试:Stable Difussion本地部署及WebUI使用
1. 安装conda、git、cudaCuda版本需要首先查看自己nvida显卡参数,不能高于参数上的版本
2. Conda创建环境,python版本根据GitHub上的说明来选择
1`conda create --name sdweb python=3.10.6`
3. 进入创建的虚拟环境1`conda activate sdweb`
4. 在虚拟环境下克隆项目,注意:命令行需要cd到虚拟环境的目录,不然会默认git到c盘….1`git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git`
实际上好像在哪里都无所谓?但是部署在这个位置的时候,运行.bat的时候,命令行显示的是:
123`Creating venv in directory D:\Anaconda3\envs\sdweb\stable-diffusion-webui\venv using python "D:\Anaconda3\python.exe"``venv "D:\Anaconda3\envs\s ...
记录自己的初次搭建博客的经历——流程、路径与感悟
安装流程可以参见 这篇文章部署时尤其需要注意的设置:将hexo设置里面的分支名称改成与GitHub一致,因为前两年GitHub把main branch名字改了..
1.网站部署的原理和逻辑是什么?在最开始,面对各种搭建网站的框架,本人其实是迷茫的,因为我一时间无法理解为什么经过这些步骤就能够产出一个可以被访问的页面?直到我在站点快搭建完成时,我才突然明白其原理,或许接下来的要说理解有点不准确,但是仍然在这里记录一下:
首先,需要理解的就是,网络上所有的资源都是以二进制的方式传输的,网站也是这样,传输的是010101的数据流,而不是直接将页面呈现在电脑上。数据在经过网络传输至本地的时候,需要本地利用某种“解码软件”将其转换成更高级的、便于用户阅读、输入的模式。浏览器其实就是将01数据解析成html等代码,然后再通过渲染、代码执行,将数据以GUI的形式呈现出来的解析器。
那么,为什么可以将页面文件夹的一整个数据包托管至某个服务器,从而能够对外可见呢?在GitHub中,如果你建立一个仓库,并将网站数据上传至仓库,利用GitHub Pages功能就可以将个人博客发布在互联网上。实际上,通 ...