学习内容:
- 代码调试工作
- 观看了一些论文解读视频
学习时间:
- 4.10 ~ 4.15
学习笔记:
代码调试工作
深入分析了HMN和VPM代码后发现这两个模型的特征表示方式有一些区别:
- HMN模型的特征表示方式是(batchsize,videosample_numb,feature_dim)。其中,batchsize表示输入数据的批次大小,videosample_numb表示每个视频被采样的帧数或者片段数,feature_dim表示每个帧或者片段的特征维度。每个视频都被划分成了多个帧或者片段,并且每个帧或者片段都提取出了相应的特征表示。
- VPM特征表示方式是(batchsize,seq_len,feature_dim)。其中,batchsize表示输入数据的批次大小,seq_len表示每个输入序列的长度,feature_dim表示每个时间步上的特征维度。每个序列都是一段时间序列数据,每个时间步上都有相应的特征表示。
因此,这两种特征表示方式的区别在于处理的数据类型不同。第一个模型处理的是视频数据,第二个模型处理的是序列数据。
暂时还没有找到合适的解决思路能够实现这两种特征方式的转换,目前采取的方法是对HMN项目中的video_feature所对应的mask进行一些调整,使其能够对应上video_feature的第二个维度(videosample_numb=15)。
另外对于文本特征,也直接使用HMN中的numberic_caps(batchsize=64,max_cap_len=22)。
通过这样的调整解决了上次遇到的维度不匹配问题。
最近学习的视频
- Efficient(PEFT) :提升训练效率,这里以PEFT(parameter efficient fine tuning)为例
- Existing stuff(pretrained model)、New directions:使用别人的预训练模型,新的研究方向
- plug-and-play:做一些即插即用的模块,例如模型的模块、目标函数、新损失函数、数据增强方法等等。
- Dataset,evaluation and survey:构建数据集、发表分析为主的文章或者综述论文
GPT-4论文精读
这一工作的背后是大型语言模型 (Large Language Model,LLM) 生成领域的新训练范式:RLHF (Reinforcement Learning from Human Feedback) ,即以强化学习方式依据人类反馈优化语言模型,下面是一些技术讲解。
RLHF是一项涉及多个模型和不同训练阶段的复杂概念,按三个步骤分解如下:
- 预训练一个语言模型 (LM) ;
- 聚合问答数据并训练一个奖励模型 (Reward Model,RM) ;
- 用强化学习 (RL) 方式微调 LM。
目前进展
强化学习模块大部分已经调试完成,还有最后几行代码有一些问题:
Traceback (most recent call last):
File "/share/home/softrh02/.pycharm_helpers/pydev/pydevd.py", line 1496, in _exec
pydev_imports.execfile(file, globals, locals) # execute the script
File "/share/home/softrh02/.pycharm_helpers/pydev/_pydev_imps/_pydev_execfile.py", line 18, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)
File "/share/home/softrh02/HMN/main.py", line 76, in <module>
valid_loader, device, info, path_join)
File "/share/home/softrh02/HMN/train.py", line 130, in train_fn
greedy_sents = int2sent(greedy_ids[:, 1:].detach(), itos)
TypeError: python-BaseException
'function' object does not support item assignment