- 博客(45)
- 收藏
- 关注
原创 DeepSeek-GRPO
per_token_logs和old_per_token_logps都是softmax再取log后得到的,每个元素都是负数,现在相减再e的对数,也就是原来的值相除,对应公式中。一个prompt采样多个output然后给不同的output不同的权重(advantage),提出一个新的token级别loss。②为什么πold用self.model生成,π也用self.model生成( 这不都是基线+lora吗)?v3的时候,rewardmodel还是一个Learn出来的模型,到r1的时候就已经是一套规则了。
2025-03-05 20:26:18
538
原创 DeepSeek-技术要点
Deepseek》论文 1月26日LM可以看做是一种强化学习,state是当前prompt,action是从所有词典中选出一个token。RLHF 是让模型遵循标注者的偏好。LM模型和强化学习(一种训练智能体策略的框架)区别。论文出发点:想拥有复杂问题的推理能力:step by step来解决。(通过强化学习来激励语言模型,使其用于复杂问题的推理能力)之前是采用PPO,但是最近采用DPO,现在使用的是GRPO(和PPO很像)。
2025-02-02 23:52:21
1305
原创 Prepare50
遍历一次,建一个value为dict,key为下标的dict,每次去里面判断下,要找的数是否存在,时间复杂度O(n),空间负责度O(n)。
2025-01-20 18:13:36
571
原创 小红书冷启优化-笔记
实现细节:Look-Alike其实就是一种特殊的ucf,并且对于item冷启是比较有利的,因为新item的emb是学习不充分的,但是交互的user不一定是新用户,他的emb可能是学习充分的,这样利于item冷启。ID Embedding优化方法二:利用多模态(CNN+Bert)把item表征成向量,取多个高曝光的item的向量meanpooling作为冷启item的Embedding。item自身:新笔记点击率、交互率。物料自身的基本属性,关键词提取召回(比如物料中包含的公司名,人名,地名等)
2024-11-18 11:06:56
528
原创 chatGLM3+Lora
input_ids结构:[原始输入的编码;target(也就是label标签);padding_3]labels结构:[原始输入的编码全换成-100;target(也就是label标签);
2024-07-20 16:47:15
260
原创 大模型-Bert+PET实战
背景:预训练语言模型(比如BERT)知识全面,但是没有针对下游任务做针对训练,所以效果一般,所以需要根据任务做微调。核心思想:根据先验知识人工定义模版,将目标分类任务转换为与MLM一致的完形填空,然后再去微调MLM任务参数。项目介绍:一般情况,。
2024-07-14 18:03:09
571
原创 seq2seq召回(u2i)
概述:利用用户点击历史,来给用户进行召回的u2i召回。样本格式:按照item点击顺序组装 user1:[item1,item2,item4..];seq_length:序列最大长度,70。第一步:输入n条样本序列sequence 为[198, 70]第二步:对序列进行itemEmbedding:item_embeddings [198, 70, 64]第三步:根据padding的个数进行posiitonEmbedding:position_embeddings[198, 70, 64]
2024-05-07 15:41:09
1111
1
原创 LightGCN召回算法
得到"city","job_id","boss_id","position","interexpid","nums" 保存到本地。第三步,按照被动方聚合item,normalize方法内部按照行为发生时间对user主动方排序。并过滤与主动方交互不足的的个数。两种模型实现方式:一种和损失函数公式类似,很直白,另一种使用高效算子但是不直白。第一步,构建180天的job-exp的开聊表。第二步,使用ds在[-25,-1]天的样本。优势:计算接口更灵活、性能更好、生态更好,
2024-02-04 17:15:40
387
原创 YouTubeDNN模型
item向量和用户观看历史的item也可以用一个Embedding矩阵。双塔也有连续向量,对连续向量进行了x直接入和x²输入,扩大特征的变化。输入特征对 搜索词、观看记录进行item的mean-pooling。塔输入全是用户特征。
2023-07-30 17:49:21
201
原创 Item冷启优化
实现细节:Look-Alike其实就是一种特殊的ucf,并且对于item冷启是比较有利的,因为新item的emb是学习不充分的,但是交互的user不一定是新用户,他的emb可能是学习充分的,这样利于item冷启。维护类目_id 或者 关键词 -> item_i的时间倒排,召回合并多个列表。物料自身的基本属性,关键词提取召回(比如物料中包含的公司名,人名,地名等)线上环境(新召回、精排变动、重排规则)的变化都有可能导致保量失败。根据目标时间、目标曝光、发布时间、已有曝光,决定权重。召回只分发最近30天内的。
2023-05-03 00:29:42
968
原创 [面试题]java高性能的多计数器
需要实现一个并发安全的多计数器,可以记录不同数字出现的次数,简单而言就是类似于 Map 的数据结构,但该数据结构所占用的内存较大:一个 Node 对象就需要占用 96Byte,如果算上 Node[] 则该数据结构整体的内存占用将是非常可观的。为了降低编程难度,只需要实现一个无需扩容的 MultiAtomicInteger 即可,该类的构造函数需要指定最大容量。综上所述,我们需要实现一个。
2023-01-18 14:21:09
793
原创 Attention相关
自回归模型:过去某个时刻的输出,也会作为当前的时刻的输入。(例如encoder-decoder类的模型,再输出y2的时候需要依赖y0和y1)Transform 也是一个encoder-decoder结构。LayerNorm和BatchNorm区别:BatchNorm:训练时,把当前batch内的样本的某列特征进行处理,处理成均值0方差为1(减这个batch内这一列的均值,再除以方差即可)。预测时,算一个全局的均值的方差做为使用。此外还可以通过学习λ、β参数来变换到任意均值和反查。La...
2022-02-06 23:09:06
2116
原创 图神经网络-GCN、GraphSAGE、NGCF、LightGCN
①GCN做卷积分为两种方式:一种是基于频域(谱域)(spectral domain)。频域可以类比到对图片进行傅里叶变换后,再进行卷积。(通过对图的拉普拉斯矩阵做特征分解,将它定义在傅里叶 domain上)一是基于顶点域(空间域) (vertex domain),即顶点域可以类比到直接在图片的像素点上进行卷积。②基于频域的卷积是如何做的?第一步:L=D-A得到第二步:对L做特征分解。第三步:??当给了一张图,我们有了它的邻接矩阵A和度矩阵D。计算拉普拉斯矩阵,..
2022-02-03 19:13:03
6605
3
原创 阿里Swing算法简介
公式:思想:通过用户来连接商品,形成图。两个都购买过商品i,j的用户,如果这两个用户共同购买的物品越少,则物品i和 j的相似性越高。举例:item_i的点击用户:[u1,u2,u4,u5,u7]item_j的点击用户:[u1,u3,u4,u5]得分:sim<i,j>=f(u1,u3)+f(u1,u5)+f(u4+u5)其中:f(u1,u3)=1/(α+u1和u3并集个数...
2021-12-16 10:34:19
573
1
原创 AliasSample采样算法
def create_alias_table(df): s = [row['weight'] for index, row in df.iterrows()] prob_values = np.array(s) # prob_values存放的是各个类型发生的累计概率*类型种数 prob_values = prob_values / sum(prob_values) # 归一化 skus = [row['skuId'] for index, row in df.iter.
2021-10-01 21:09:50
424
原创 FM如何做召回
FM如何写成Embedding相乘的形式:已知FM=偏置项+Item一阶项+User一阶项+U_U交叉+I_I交叉+U_I交叉当User给定时,U的一阶项和U-U的二阶项对排序无影响。把所有user侧的隐向量相加,得到user的Embedding,把所有item侧的隐向量相加,得到item的Embedding,那么UserEmbedding*Item的Embedding就等于U_I交叉所以转换后FM=User的Embedding*Item的Embedding+偏置项(I-I交叉、item的一阶项
2021-09-09 21:44:25
1210
原创 Tensorflow2-Keras的简单模型Wide&Deep
import tensorflow as tfimport osimport tensorflow.keras.backend as Kimport numpy as npnp.set_printoptions(threshold=np.inf)os.environ["KMP_DUPLICATE_LIB_OK"]="TRUE"# load sample as tf datasetdef get_dataset(file_path): dataset = tf.data.expe.
2021-08-15 23:49:46
516
原创 FM算法原理
FM模型是怎么工作的?例如我们有两个字段:颜色(红、黑、白)和品类(化妆品、手机)。我们需要使用FM预测对下面两个商品的点击率item1:红色的化妆品 item2:黑色的手机FM训练后得到参数:权重:红色0.11 黑色:0.26 白色:0.16 化妆品:0.24 手机:0.31 维度为2的向量:颜色:红色[0.426,0.376]、黑色[0.636,0.739]、白色[0.832,0.584]。 品类:化妆品[0.723,0,372]、手机[0.903,0.133]......
2021-08-05 01:27:06
456
原创 CART-回归树 实例
例如:根据 职业和年龄来预测月薪。职业 年龄 月薪 程序员 22 20000 程序员 23 26000 程序员 29 30000 教师 23 12000 教师 25 14000 样本x:[1, 0, 22], [1, 0, 23], [1, 0, 29], [0, 1, 23], [0, 1, 25] (注:我们对职业特征进行了one-hot升维)样本y:[...
2021-01-16 22:02:31
3583
1
原创 TF-IDF计算相似文章
%spark_recommend.pysparkfrom pyspark.sql.types import BooleanType,LongTypefrom scipy.stats import norm, tfrom pyspark.sql import SparkSession, DataFrame, functions as Ffrom pyspark.sql.functions ...
2020-12-31 01:03:34
253
原创 一个案例弄懂ElasticSearch分词匹配原理和同义词
基础:ES支持两种同义方式。一种是单向同义词,一种是双向同义词。臀部,臀,屁股斑=>斑,雀斑 i-pod,i pod,i pad =>ipod说明:对于臀部,臀,屁股。我们可以理解成相互完全等价。对于“斑”“雀斑”,如果文章分词后包含“斑”,会自动存入“斑”“雀斑”两个字词,这样搜索斑或者雀斑都会命中该文章。如果使用"i-pod","i pod","i pad"转为"ipod”,那就会出现一个问题就是在因为存储的是"ipod”,所以搜"i pad"就不会命中该文章了。不推荐使用
2020-06-13 13:28:32
2437
原创 帖子粗排公式-决策树
需求:给出一个公式对帖子进行粗排16个特征:浏览数view_cnt,点击率ctr,搜索词和文章的相关性text_score,评论数comment_cnt,创建时间create_hours....第一步:合并训练和测试数据拉取最近7天的帖子的点击记录,和16个特征。把前1天的数据合并为test测试集,把前2~7天合并为训练集。第二步:特征处理特征实例:0 93 0 5 None None 0.11201316033651 0 0 0 0 55.56929 3153 0.029495 0
2020-05-30 22:14:26
226
原创 Word2Vec计算相似文章
第一步:得到用户帖子的点击日志。from pyspark.sql.types import BooleanType,LongTypefrom scipy.stats import norm, tfrom pyspark.sql import SparkSession, DataFrame, functions as Ffrom pyspark.sql.functions import udf,litfrom dateutil.parser import parseimport string
2020-05-09 15:37:10
185
原创 ItemCF-jaccard相似度计算相似item
from pyspark.sql import SparkSession, functions as Fimport heapqfrom pyspark.sql.types import StructType, StructField, LongType,FloatType, ArrayType, IntegerTypespark = SparkSession.builder.appNa...
2020-04-09 02:04:16
650
原创 合并两个有序链表
非递归: /** * 用一个遍历来装排好序的链表,和一个遍历记录最其实的位置。 * @param l1 * @param l2 * @return */ public static ListNode mergeTwoLists(ListNode l1, ListNode l2) { ListNode resul...
2020-01-16 23:24:07
112
原创 中心极限定理实践
呈任意分布的样本,进行m次抽样,每次取n个。这m次抽样的平均值接近正态分布。下面我们验证一下:数据:用户粉丝数我们有约100w用户的信息,我们只关注用户的粉丝数这个字段。毫无疑问用户的粉丝数都是长尾分布,如图:import pandas as pdimport randomdef get_user_sample(data): sample = []...
2020-01-12 13:11:02
273
原创 ElasticSearch-分组取top n(TopHits)
需求搜索“双眼皮”的所有商品,按照机构聚合降序min_price降序,每个机构显示按取价格高的Top 3。查询语句:{ "query":{ "match":{ "title":"双眼皮" } }, "size":0, "from":0, "sort":[ { ...
2020-01-02 20:42:02
8523
原创 商品搜索-特征处理(实例)
这是在排序时拿到的所有数据{"sort_feature_u_":"{\"u_uid\":25872428,\"u_age\":0,\"vip_status\":1,\"u_r_gender\":2,\"u_f_ml_rt\":1.0,\"u_f_fm_rt\":0.0,\"cre_days\":326,\"lo_pro_id\":2,\"lo_ci_id\":2,\"yidi\":[[\"\...
2020-01-01 23:14:36
406
原创 ElasticSearch-对象类型和嵌套(nested)对象
一、对象类型使用json、json数组作为字段值,动态映射会默认使用对象类型(type object)。1.1字段值为json对象POST users/users/1{ "name":"王月", "description":{ "date":"2015-12-22", "title":"go to School" }}相...
2019-12-28 19:11:12
2592
1
原创 ElasticSearch-别名用法
别名的意义:索引的别名就像域名域名一样,例如百度的域名是www.baidu.com,但是你并不知道这个域名对应的是哪个ip,能翻遍我们切换索引。查看索引:GET _cat/indices(查看所有索引)查看别名:GET _cat/aliases(查看所有别名和别名与索引的对应关系)例如定时任务需要重新创建用户表,我们今天是20191228,我们创建一个user20191228索...
2019-12-28 14:53:29
474
原创 LR模型-商品搜索实战
一个请求都已一个唯一标识字段,这样我们能拿到,这个请求曝光了哪些商品,点击了哪些商品,这个请求发生那一刻的特征。%spark_recommend.pysparkimport pandas as pdfrom pyspark.ml.feature import VectorAssembler, MinMaxScalerfrom pyspark.ml.linalg import Spars...
2019-10-07 14:52:39
277
原创 机器学习-LR模型
LR模型,理解成一个线性方程:如果只有一个特征:也就是y=ax+b,如果有两个特征也就是y=ax1+bx2+c这里我们根据 距海边的距离 预测 城市的最高温度。from sklearn.linear_model import LinearRegressionimport numpy as npimport matplotlib.pyplot as pltmodel = Line...
2019-08-10 18:31:58
1514
原创 栈排序-O(1)空间复杂度(猎聘网)
有两个栈a和b。栈a中数据是无序,栈b无数据。现在需要把a中的数据移动到b,并且最后b是有序的(栈顶最小)。要求:空间复杂度为O(1).private static void fun(Stack<Integer> a, Stack<Integer> b) { while (!a.isEmpty()){ Integer one = a.pop()...
2019-04-03 13:54:55
608
原创 [mysql]分组取Top n、最近一条
一直没有时间写分享,终于等到双十一,任何需求都不准上,这才抽出时间整理一下搜集了好几天的SQL。需求:查出用户最近一条登录记录。(110w条)前提:默认时间和id都是递增。(求时间最大->求id最大)第一种:select * from user_login_log where id in(select max(id) from user_login_log group b...
2018-11-10 19:26:50
9018
8
原创 SpringBoot 通过注解封装API
包装前:{"name":"王月","age":0}包装后:{"status":{"code":0,"name":"OK","msg":"succeed"},"result":{"name":"王月","age":0}}实现思路:Re
2018-08-16 15:34:00
2342
原创 mysql隔离级别
事务并发的三种问题:脏读:读取了别的事务未提交的数据。不可重复读:你读取过的数据 , 再次读取出来被人改了。幻读:同一个事务,第1次和第2次读出来的记录数不一样。mysql四种隔离级别:●读未提交READ_UNCOMMITTED 写事务阻止写,但是没有阻止读。会出现脏读、不可重复读、幻读。●读已提交READ_COMMITTED 写事务会阻止写和读事务,但是读没有阻止写,会出现不可重复读、幻读...
2018-04-19 15:45:23
222
原创 【sql】exists的用法,exists与in的区别
一直以来很少用exists,以为和in用法一样,最近一看才发现,that is not the case!exists用法强调的是子查询是否有返回集,不需知道具体返回的是什么,如果有就显示主查询的内容,没有就不显示。因此,子查询中select *和select 任意字段 效果是一样的,如下:SELECT * FROM customer c WHERE NOT EXISTS (SELECT cg.d...
2018-04-10 10:49:55
423
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人