physicist4AI
自然语言处理三大顶会审稿人 zhihu.com/people/guotong1988
展开
-
把LLAMA3的参数文件从safetensors转为pth格式
【代码】把LLAMA3的参数文件从safetensors转为pth格式。原创 2024-06-17 11:44:48 · 84 阅读 · 0 评论 -
AutoModelForSequenceClassification 数据预处理和模型初始化
【代码】AutoModelForSequenceClassification 数据预处理和模型初始化。原创 2023-07-31 16:11:21 · 400 阅读 · 0 评论 -
transformer feature importance // 取transformer的特征重要性
即一个句子的每个token的对预测结果的贡献度:原创 2023-07-31 09:16:17 · 202 阅读 · 0 评论 -
文本生成,数据质量 比 数据数量 重要
商品-描述 作为 输入-输出,数据集大小1500W,人工评估 模型预测新商品的描述 的可用率90%商品-描述 作为 输入-输出,数据集大小20W,人工评估 模型预测新商品的描述 的可用率93.5%任务是商品描述生成,模型为encoder-decoder transformer。原创 2023-07-23 09:26:12 · 83 阅读 · 0 评论 -
LOMO: LOw-Memory Optimization 阅读笔记
文章贡献:减少对GPU内存的占用,从而能让GPU容纳更大的模型参数。原创 2023-06-26 10:46:08 · 100 阅读 · 0 评论 -
Multi-Query Attention 阅读笔记
核心贡献:优化 multi-head attention 为 multi-query attention,减少多head相关运算,不降低精度 且 大幅提升解码速度。原创 2023-06-26 09:57:03 · 1323 阅读 · 0 评论 -
Prefix-Tuning 阅读笔记
微调的时候,把预训练好的大transformer固定住不训练,在大transformer前面拼接几个token的参数,只训练前面这几个token的参数。因为虽然微调的时候 固定住了预训练好的大transformer,但预训练好的信息其实也一直都保留了。只用前面几个token的参数拟合微调数据集。原创 2023-06-23 18:20:19 · 214 阅读 · 0 评论 -
文本生成过拟合,泛化时语句不通!文本生成欠拟合,泛化时多样性差!
随着train-loss降低,对测试集生成的多样性确实会提升,但语句不通率也在提升。必须关注dev-loss!文本生成模型的过拟合,会导致泛化时语句不通!文本生成模型的欠拟合,会导致泛化时多样性差!原创 2023-06-21 12:02:17 · 155 阅读 · 0 评论 -
LoRA 核心代码
核心代码在 https://github.com/huggingface/peft/blob/main/src/peft/tuners/lora.py。相当于用 两个小矩阵 去学习 小的微调数据集,同时保持原来的预训练信息不动。验证了只微调~1%的参数的LLM微调方法,而不损失正确率。参数被固定了没微调,这个方法为什么会有效?和 输入向量 和 输出向量 和 原来。,进行微调的是两个小矩阵,把原来。到一起的,所以预训练的信息也都在。核心思想是用 两个MLP矩阵。原创 2023-06-17 19:02:17 · 435 阅读 · 0 评论 -
文本生成 语句不通 解决
然后过滤掉所有模型生成句子里的2-gram或3-gram出现次数低的句子。有优质句子库的情况下,比如训练数据集就是优质句子库,{你好,10000次}{大家,9000次}{我们,8000次}{一起,7000次}{世界,7000次}{和平,6000次}原创 2023-06-10 16:57:37 · 61 阅读 · 0 评论 -
huggingface/transformers 文本生成模型,输出置信度分值
以上摘自 https://discuss.huggingface.co/t/generation-probabilities-how-to-compute-probabilities-of-output-scores-for-gpt2/3175。原创 2023-05-24 16:37:32 · 288 阅读 · 0 评论 -
文本生成,随着loss降低,生成多样性是在提升的
训练后期,loss不再降低,说明生成的结果多样性 已经接近 训练数据的多样性。在训练数据本身多样性足够的情况下,训练中期,生成的结果多样性提升,训练初期,生成的结果都雷同,原创 2023-05-10 11:27:42 · 112 阅读 · 0 评论 -
GPT文本生成,训练数据中有同一个prompt对应两个response,会怎样(下)
所以,造成上面 类似分类问题里的(存在一个输入对应两个类的)歧义问题,这种情况,就是看两种response的重复次数了,重复次数就等于learning-rate。原创 2023-05-06 18:43:55 · 189 阅读 · 0 评论 -
huggingface/transformers tokenizer concat
首先encode,需要decode,利用默认的分隔符为空格,再encode。原创 2023-04-25 10:35:08 · 89 阅读 · 0 评论 -
GPT文本生成,训练数据中有同一个prompt对应两个response,会怎样(上)
所以对prompt-response-pair去重,不会造成分类问题里的(存在一个输入对应两个类的)歧义问题。原创 2023-04-24 08:56:17 · 161 阅读 · 0 评论 -
ChatGPT的Reward模块的替代方案
因为本质我们需要的是优质的text-generation格式的数据而已。原创 2023-04-07 09:17:53 · 639 阅读 · 0 评论 -
从 Supervised Learning 到 Policy Gradients
http://karpathy.github.io/2016/05/31/rl/ 的翻译。原创 2023-03-24 15:24:34 · 260 阅读 · 0 评论 -
huggingface/transformers的tokenizer的padding参数 代码示例
【代码】huggingface/transformers的tokenizer的padding参数 代码示例。原创 2023-03-23 15:53:09 · 253 阅读 · 0 评论 -
GPT-4 / ChatGPT 解读3---没有前置的任务分类模型
意图分类‘内置’在prompt里了。原创 2023-03-17 15:26:35 · 335 阅读 · 1 评论 -
GPT-4 / ChatGPT 解读2---训练数据示例
68页的InstructGPT paper:60页的GPT-4 technical report:原创 2023-03-15 11:19:01 · 152 阅读 · 0 评论 -
GPT-4 / ChatGPT 解读1---把公开数据集转成GPT的prompt型模版
68页的InstructGPT paper:60页的GPT-4 technical report:https://cdn.openai.com/papers/gpt-4.pdf举例:举例:举例:举例:原创 2023-03-15 09:57:45 · 233 阅读 · 0 评论 -
decoder-only transformer可以实现pre-train和fine-tune的一致性
LLM(large language model)原创 2023-03-10 15:12:19 · 258 阅读 · 0 评论 -
从零预训练huggingface/transformers的GPT-2代码
参考 https://github.com/huggingface/notebooks/blob/main/examples/language_modeling_from_scratch.ipynb。原创 2023-02-10 14:34:37 · 842 阅读 · 0 评论 -
从零构建ChatGPT
从零构建ChatGPT原创 2023-02-06 09:43:03 · 473 阅读 · 0 评论 -
ChatGPT的Reward具体是如何指导Policy的
用KL-loss如图应该就是计算Reward Model生成的句子和Policy Model生成的句子的差值,然后优化这个差值。原创 2023-01-27 18:41:39 · 136 阅读 · 0 评论 -
memory network 没有成为BERT的基石的原因
transformer在预训练时,靠attention matrix能学到 预训练数据 里两两token之间的关系,也就是所说的上下文关系,然后在fine-tune时会重写 fine-tune数据集 里的两两token之间的关系。memory network 不能学到这些两两token之间的关系。原创 2023-01-27 18:39:20 · 80 阅读 · 0 评论 -
数据分布不均匀,或有重复数据,影响的只是每个数据的学习率
进一步就是相当于 这些重复的数据的学习率大了原创 2023-01-03 20:24:44 · 280 阅读 · 0 评论 -
跑huggingface/transformers的GPT-2代码
GPT-2原创 2022-12-26 20:16:02 · 675 阅读 · 0 评论 -
在pycharm里debug以学习huggingface/transformers
github.com/huggingface/transformers原创 2022-12-26 16:56:54 · 680 阅读 · 0 评论 -
NER问题的验证集,不一定能反映召回率
命名实体识别原创 2022-10-13 17:22:33 · 80 阅读 · 0 评论 -
评估模型预测结果好坏,需要的是ground-truth label,比如预测用户的优惠敏感度,其实无法评估
优惠敏感度任务原创 2022-09-26 09:31:45 · 140 阅读 · 0 评论 -
命名实体识别NER模型,用B-M-E标记 比 用0-1标记 准确率高(召回率低)
NER原创 2022-09-14 19:19:28 · 128 阅读 · 0 评论 -
【开源代码】在movielens数据集跑出接近AUC=0.8的结果
开源代码原创 2022-06-02 10:48:48 · 246 阅读 · 0 评论 -
python读大文件到内存训练的优化
用好yield来拆成一个个batch:def to_batch(data, batch_size): data_size = len(data) batch_number = int((data_size - 1) / batch_size) + 1 for batch_index in range(batch_number): start_index = batch_index * batch_size end_index = min((batch原创 2022-05-30 19:12:12 · 171 阅读 · 0 评论 -
Masked Autoencoders 关键信息解读
摘要的最后一句话:achieves the best accuracy (87.8%) among methods that use only ImageNet-1K data. Transfer performance in downstream tasks outperforms supervised pre-training and shows promising scaling behavior.可见masked autoencoders (MAE) 的应用方法,是预训练好的MAE的encode原创 2022-05-13 16:10:03 · 269 阅读 · 0 评论 -
regression loss 可行代码
regression就是回归问题,训练目标是拟合一个具体精确数字,比如0.765、比如1.234。之前调出了 MeanSquaredError loss(blog.csdn.net/guotong1988/article/details/123419290),现在发现这个sigmoid_cross_entropy_with_logits更好:regression_loss = tf.reduce_mean( tf.nn.sigmoid_cross_entropy_with_logits(lab原创 2022-03-11 18:57:18 · 275 阅读 · 0 评论 -
regression的mse loss调不出效果
regression就是回归问题,训练目标是拟合一个具体精确数字,比如0.765、比如1.234。解决方案1,确保logits前一层没有任何sigmoid等激活函数,2,可以尝试放大label,比如label = labe * 10具体代码from tensorflow.python.keras.utils import losses_utilsmse_loss_compute = tf.keras.losses.MeanSquaredError( re原创 2022-03-11 10:53:58 · 345 阅读 · 0 评论 -
3个向量的距离loss
# vector [batch_size, hidden_dim]# labels [batch_size, 1]# logits [batch_size, 1]logits = tf.reduce_mean(vector1 * vector2 * vector3, axis=-1, keep_dims=True) \ + tf.reduce_mean(vector1 + vector2 + vector3, axis=-1, keep_dims=True) \原创 2022-03-09 10:06:30 · 320 阅读 · 0 评论 -
多标签分类,跑出合理结果的loss设计,以及每个label都有权重
kl_compute = tf.keras.losses.KLDivergence( reduction=losses_utils.ReductionV2.NONE, name='KL_divergence') # logits 是 [batch_size, class_number]# gt_labels 是 [batch_size, class_number], 里面有多个1,其余为0# gt_label_weights 是 [bat原创 2021-12-20 09:33:09 · 930 阅读 · 5 评论 -
Bootstrap Your Own Latent 划重点
引言BYOL uses two neural networks, referred to as online and target networks, that interact and learn from each other.Starting from an augmented view of an image, BYOL trains its online network to predict the target network’s representation of another augm原创 2021-12-07 17:52:56 · 391 阅读 · 0 评论