AI学习日志
2024年
4月
15~16日
- 逻辑回归(Logistic Regression) “逻辑”是音译,不代表有逻辑性 过程是回归,但目的是分类:在回归的值上加个阈值就能分类 二分类的散点和阶跃函数非常相似,但阶跃不可导,故选sigmoid作为拟合函数 然后做最大似然估计 损失函数如果用残差平方和,不是凸函数不好优化,所以取负对数似然 尤其适用于二分类问题,不要求自变量和因变量是线性关系 (https://zhuanlan.zhihu.com/p/139122386)
- 线性模型的本质 \(y=g^{-1}(w^Tx+b)\),其中\(g^{-1}\)单调可微,称为联系函数 本质:决策边界是线性 如果一个乘法式子中自变量x前的系数w只影响一个x,则是线性的;否则非线性 (https://zhuanlan.zhihu.com/p/147599207,https://www.zhihu.com/question/362676570)
3月
8~10日
- LLM LoRA微调实践: https://zhuanlan.zhihu.com/p/649315197;https://xtx0o8yn7x.feishu.cn/docx/XjvpdaeQcoF8d3xhpbCcoOJNn9b;https://zhuanlan.zhihu.com/p/659154202;https://cloud.tencent.com/developer/article/2372297
6~7日
- GPT与BERT的自回归与自编码:(https://zhuanlan.zhihu.com/p/625714067)
- prompt/ prefix-tuning 区别: prompt:只在embedding层,在输入序列前加入一个可学习的embedding矩阵 prefix:不仅在输入中加前缀,而是在每个多头注意力机制的KV矩阵中都加入可学习的前缀向量 “Prompt-tuning主要关注于输入序列的修改,而Prefix-tuning则是对模型内部自回归过程的初始化状态进行调整” (https://zhuanlan.zhihu.com/p/632009060;https://blog.csdn.net/weixin_43863869/article/details/134760405;https://zhuanlan.zhihu.com/p/682938889)
5日
- 实验
- 重新确定论文实验计划
- huggingface模型大小文件分开下载: 用wget有时候会有unauthorized的问题 通过git lfs 的某些操作可以避开wget (https://blog.csdn.net/flyingluohaipeng/article/details/130788293)
2月
26~28日
- LangChain:https://python.langchain.com.cn/docs/
- VAE:目的和GAN一样,都是进行分布之间的变换(https://spaces.ac.cn/archives/5253)
- GAN为什么是拟合分布的:(GAN的本质) “GAN模型以及所有的生成模型都一样,做的事情只有一件:拟合训练数据的分布“ (https://zhuanlan.zhihu.com/p/307527293)
- torch中
.backward()
对应的具体作用: 将正向传播中的损失函数传入反向传播过程,==逐层求出损失函数对各神经元权重的偏导数==,作为目标函数对权重的梯度 (下一步的优化器则使用该梯度来更新权重) (https://blog.csdn.net/fsfjdtpzus/article/details/106256925) ### 1月
29日
- 位置编码及其外推:推理阶段确保模型能处理远超预训练时的文本长度(https://www.zhihu.com/tardis/zm/art/675243992?source_id=1005)
- 旋转位置编码RoPE:https://www.zhihu.com/tardis/zm/art/647109286?source_id=1005
- RoPE编码从进制角度理解:https://spaces.ac.cn/archives/9675
19~20日
- wandb:https://blog.csdn.net/qq_40507857/article/details/112791111,https://docs.wandb.ai/
- torchrun/ 分布式训练: 单机多卡:https://zhuanlan.zhihu.com/p/477073906 多机多卡:https://zhuanlan.zhihu.com/p/486130584
- 大模型参数量与显存关系: 推理——1B~4G(全精度) 训练——推理的3~4倍(粗略) (https://www.zhihu.com/question/612046818)
2~6日
- softmax:每一个元素的范围都在 ( 0 , 1 ) 之间,并且所有元素的和为1(https://zh.wikipedia.org/wiki/Softmax%E5%87%BD%E6%95%B0)
- 先验,后验,似然: 先验概率:猜参数服从啥分布 后验概率:学习经验后有根据地猜参数服从啥分布 似然估计:猜参数是多少,才最能解释某些实验结果 (https://www.zhihu.com/question/24261751)
- 强化学习的 state, action, reward, policy:https://zhuanlan.zhihu.com/p/358787399
2023年
12月
30~31日
- 联邦学习 SCAFFOLD: https://zhuanlan.zhihu.com/p/538941775
18~29日
- 实验
- LLM发展及现状总结/ 综述/ 入门:https://zhuanlan.zhihu.com/p/612181615
- ACE2005 数据预处理:https://blog.csdn.net/wmq104/article/details/129613296
- Reinforce Learning PPO:https://zhuanlan.zhihu.com/p/614115887
- RLHF 细节: Actor (Policy model)- Critic (Reward model) Policy mode 作为一个组件对原始语言模型的输出作后处理 (https://zhuanlan.zhihu.com/p/591474085)
1~17日
- 实验
- 终生学习 (Lifelong Learning):https://blog.csdn.net/m0_38088084/article/details/107768297
- P/ NP/ NPC/ NP-Hard 问题:https://zhuanlan.zhihu.com/p/73953567
- kNN:https://blog.csdn.net/chenhepg/article/details/105409153
11月
24~30 日
- 实验
- In-Context Learning (ICL) 与 Few-shot Learning:后者更新参数,而前者不更新。但现在很多文章的Few-shot也并不更新参数...(https://zhuanlan.zhihu.com/p/615229507)
- LLM的重复生成现象:通过Beam search/ Random search/ Contrastive sampling 来解决(https://www.zhihu.com/question/616130636)
- LLM输出参数与解码策略:https://zhuanlan.zhihu.com/p/653926703
21~23 日
- 实验,增加webnlg数据集
- 粗读论文:(2023) <Large Language Model Is Not a Good Few-shot Information Extractor, but a Good Reranker for Hard Samples!>
- 总结论文
- 读论文:<CODEIE: Large Code Generation Models are Better Few-Shot Information Extractors>
10~20 日
- 读论文:(2020 T5)<Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer>
- 实验,增加tacred数据集
- 读论文:(2023) <Revisiting Relation Extraction in the era of Large Language Models>
- 读论文:(2022 FLAN T5)<Scaling Instruction-Finetuned Language Models>
- 寻找数据集
- 总结论文
9日
- Elmo和BERT:https://zhuanlan.zhihu.com/p/51682879
- 开会
- Instruction Tuning 指令微调:https://zhuanlan.zhihu.com/p/408166011
- Instruction Tuning 和 Prompt Tuning的区别:前者是改变参数的,通过指令来让模型更好地识别输入的意图,同时也在zero-shot中表现更好;后者不改变参数,把下游任务转化为预训练任务(https://blog.csdn.net/u014403221/article/details/130688742,https://www.datalearner.com/blog/1051681306547159)
- Prompt Tuning的方法与本质:本质上是对下游任务的指令,可以作为一种信息增强(https://zhuanlan.zhihu.com/p/618871247)
- Chain of Thought (CoT):将任务分解为子任务(https://www.datalearner.com/blog/1051681306547159)
- 重构实验代码
6~7日
- 实验
- 读论文:(2020 MAMA) <LANGUAGE MODELS ARE OPEN KNOWLEDGE GRAPHS>
- 读论文:(2021 DEEPEX) <Zero-Shot Information Extraction as a Unified Text-to-Triple Translation>
- 重构代码
- 读论文:(2020 OpenIE6) <OpenIE6- Iterative Grid Labeling and Coordination Analysis for Open Information Extraction>
5日
- 读论文:<Open Information Extraction from 2007 to 2022 – A Survey>
- embedding和representation(NLP中):前者一般是将词映射到低维,计算词之间的相似度来捕获语义信息;后者是原始输入在模型中的一种中间形式,一般指模型输出(?)(https://blog.csdn.net/qq_42536162/article/details/131307509,https://www.reddit.com/r/MachineLearning/comments/ofivs2/d_difference_between_representation_vs_latent_vs/?rdt=57328)
1~4日
- 实验
- 读论文:<DEEPSTRUCT- Pretraining of Language Models for Structure Prediction>
- 读论文:<PIVOINE- Instruction Tuning for Open-world Information Extraction>
- 关系抽取中的远程监督(Distant Supervision):利用已存在的KG,给数据做自动标注,属于半监督(https://blog.csdn.net/weixin_43734080/article/details/126823650)
10月
30/31 日
- 实验
- 寻找数据集...
27日
- 实验
- LLM输出参数中的temperature/ top_k/ top_p:都是值越小,输出越固定,随机性越小(https://zhuanlan.zhihu.com/p/662622353,https://zhuanlan.zhihu.com/p/631786282)
- LLM输出参数中的do_sample与num_beams:对应不同的采样方式(https://zhuanlan.zhihu.com/p/631847634,https://huggingface.co/docs/transformers/generation_strategies#text-generation-strategies)
26日
- 尝试基于LLM的KG实验(以调用为主)
- langchain:https://www.langchain.com.cn/getting_started/getting_started
- python中的星号*:单星号接受任意多个非关键字参数,在函数中将其转化为元组;双星号接受任意多个关键字参数,在函数中转化为词典(https://www.cnblogs.com/empty16/p/6229538.html)
25日
- 论文阅读:(PURE) <A Frustratingly Easy Approach for Entity and Relation Extraction>
- 与老师交流,近一步确定研究重点与倾向
- 论文粗读:<Streaming Social Event Detection and Evolution Discovery in Heterogeneous Information Networks>
- 论文阅读:<A Comprehensive Survey on Automatic Knowledge Graph Construction>
23~24日
- 为什么LLM大多是decoder-only架构:encoder的双向注意力会存在低秩问题,这可能会削弱模型表达能力(https://kexue.fm/archives/9529)
- 阅读Grapher代码
- 跟李沐学AI
- 阅读Grapher代码
- LLM+KG文章继续检索
20~22日
- RLHF和Instruction Tuning的关系:
- 前者是通过人类反馈来训练一个奖励模型,用这个奖励模型去调整输出;
- 后者是指导模型理解指令并(以合理的方式)作出响应,而不是“仅仅”补全文本
- 两者可以一起使用,可以只用后者,也可以只用前者 (https://news.ycombinator.com/item?id=35925337)
- 前期调研总结整理
- 训练Grapher模型
19日
- LSTM:基本的RNN难以解决长期依赖(https://zhuanlan.zhihu.com/p/123857569)
- Micro/ Macro-F1:多分类问题中对多个类别求F1 Micro: 更适用于数据分布不平衡的情况,数量较多的类别对F1的影响会较大 Macro: 对各类别的P和R求平均,所以没有考虑数据量,P和R较高的类别对F1的影响较大 (https://blog.csdn.net/qq_43190189/article/details/105778058, https://zhuanlan.zhihu.com/p/274568639)
- 学习率Warmup:使用较小学习率预热,减少刚开始训练时的震荡(https://zhuanlan.zhihu.com/p/452448670)
- 前期调研总结整理
18日
- 残差连接:解决深度网络中的梯度消散问题;同时因为不确定某层的效果是否正向,保留部分上一层的信息(https://blog.csdn.net/qq_39852676/article/details/105886743,https://zhuanlan.zhihu.com/p/422247863)
- MLP多层感知机:简单的全连接、线性+非线性架构,也属于神经网络(https://zhuanlan.zhihu.com/p/642537175)
- CNN结构加深记忆:https://blog.csdn.net/weixin_57643648/article/details/123990029
17日
- 文献精读:<Attention is all you need>
- 多头注意力的理解:https://www.zhihu.com/question/341222779
16日
- 文献精读:<Building Knowledge Graph using Pre-trained Language Model for Learning Entity-aware Relationships>
- 文献精读:<Constructing Chinese Historical Literature Knowledge Graph Based on BERT>
15日
- 运行llama成功初尝试
- 阅读Grapher代码
- pytorch-lightning:https://zhuanlan.zhihu.com/p/556040754
13日
- 文献继续精读:Grapher
- 卷积和池化的重新理解:不同的卷积核能够提取不同的特征信息(如边缘)或进行不同的变化(如锐化);池化用于在保留主要特征的同时减少参数和计算量,防止过拟合(https://www.zhihu.com/question/49376084,https://zhuanlan.zhihu.com/p/78760534) > 个人理解:池化是一个特殊形状和步长的卷积,相当于等比例缩小图片。不太应该翻译为“池化”,可以理解为把东西都聚到一个池子里的操作
- Llama代码简单浏览
12日
- 文献阅读:<PiVe: Prompting with Iterative Verification Improving Graph-based Generative Capability of LLMs>
- 文献粗读:<Packed Levitated Marker for Entity and Relation Extraction>(看不太懂)
- 文献阅读:<Grapher: Multi-Stage Knowledge Graph Construction using Pretrained Language Models>
11日
- 文献继续精读:<LLMs for Knowledge Graph Construction and Reasoning:Recent Capabilities and Future Opportunities>
- 继续捣鼓LLM环境...(网站被墙,下载模型好难)
- 长尾分布:也就是数据量分布不均衡,少部分类别有大量样本,就好像少部分人有大量资产一样(https://zhuanlan.zhihu.com/p/422558527)
- 上述文献总结
- 准确率(accuracy),精确率(precision),召回率(recall)与F1 score:https://zhuanlan.zhihu.com/p/405658103
10日
- 文献阅读:<Knowledge Graphs: Opportunities and Challenges>
- 捣鼓LLM环境
- 文献阅读:<LLMs for Knowledge Graph Construction and Reasoning:Recent Capabilities and Future Opportunities>
- zero\one\few-shot:简单来说就是给了多少个学习样本(https://zhuanlan.zhihu.com/p/624793654)
9日
- RLHF和InstructGPT:RLHF可以分为3步:
- 根据采集的SFT数据集对GPT-3进行有监督的微调(Supervised FineTune, SFT)
- 收集人工标注的对比数据,训练奖励模型(Reword Model, RM)
- 使用RM作为强化学习的优化目标,利用PPO算法微调SFT模型 InstructGPT是在GPT-3的基础上通过RLHF训练而来的 (LLM 系列超详细解读 (四):InstructGPT:训练语言模型以遵从人类指令 - 知乎,https://zhuanlan.zhihu.com/p/590311003)
- ChatGPT和InstructGPT:是一对姐妹模型,他们在模型结构、训练方式上都完全一致,即都使用了指示学习(Instruction Learning)和人类反馈的强化学习(RLHF)来指导模型的训练,它们不同的仅仅是采集数据的方式上有所差异
- 文献阅读笔记
- 激活函数的再理解:
- 在神经元中的位置,是输入与权重相乘并相加之后,输出之前
- 一般引入非线性因素,来增加神经网络模型的非线性
- 否则网络中全部是线性部件,线性的组合还是线性,与单独一个线性分类器无异,这样就做不到用非线性来逼近任意函数
- 包括sigmoid, ReLU, softmax 等 (CNN基础——激活函数,https://zhuanlan.zhihu.com/p/94087040)
- Llama部署初尝试
8日
- 文献阅读:<A Survey of Large Language Models>
- Transformer架构(LLM建立的主要基础):https://zhuanlan.zhihu.com/p/338817680
- 循环神经网络(RNN):个人理解-就像在CNN中采用了密码学的 CBC/CFB/OFB工作模式一样,将上一轮结果反馈到下一轮,用于更好地处理前后文相关的序列信息(https://zhuanlan.zhihu.com/p/30844905)
- 机器学习中的正则化(Regulation):https://www.zhihu.com/question/20924039
- LLM微调学习:Hugging face Transformer文档初步阅读
- 实验环境初步搭建
7日
- 初步确定短期研究方向
- 监督学习:关键在于,数据中有无人工标注的标签(https://zhuanlan.zhihu.com/p/376931561)
- 泛化(Generalization):是指模型很好地拟合以前未见过的新数据(从用于创建该模型的同一分布中抽取)的能力(https://www.cnblogs.com/anliven/p/10264475.html)
- 注意力机制:通过权重,将模型的注意力转移到重要的部位(https://zhuanlan.zhihu.com/p/379722366)
- 欧氏空间的通俗理解:https://www.zhihu.com/question/27903807
- 图神经网络(GNN)基本原理:https://blog.csdn.net/weixin_45884316/article/details/115751272
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Yunsaijc's Blog!