sh AI lab 面试题

import torch
import torch.nn as nn
import torch.nn.functional as F

class GRPO:
    def __init__(self, policy, ref_policy, lr=1e-5, beta=0.02, eps_clip=0.2):
        self.policy = policy
        self.ref_policy = ref_policy
        self.optimizer = torch.optim.Adam(policy.parameters(), lr=lr)
        self.beta = beta
        self.eps_clip = eps_clip
    
    def compute_loss(self, input_ids, old_logp, rewards, advantages):
        """
        input_ids: [B, T]
        old_logp: [B, T] 旧策略log概率
        rewards:  RM奖励
        advantages:  GAE优势
        """
        new_logp = self.policy.log_prob(input_ids)  # [B, T]
        ratio = torch.exp(new_logp - old_logp)      # [B, T]
        
        # GRPO:组内归一化优势(每组4样本)
        B = advantages.size(0)
        group_size = 4
        advantages = 
        
        # PPO裁剪
        surr1 = 
        surr2 = 
        policy_loss = 
        
        # KL惩罚
        ref_logp = 
        kl = 
        
        loss = 
        return loss
    
    def step(self, input_ids, old_logp, rewards, advantages):
        loss = self.compute_loss(input_ids, old_logp, rewards, advantages)
        self.optimizer.zero_grad()
        loss.backward()
        torch.nn.utils.clip_grad_norm_(self.policy.parameters(), 1.0)
        self.optimizer.step()
        return loss.item()

全部评论

相关推荐

标题党一下orz双非本通信工程,日本qs200硕医疗图像处理方向的lab,目前研0,还剩下4个月gap。因为对国内消费电子领域非常感兴趣,考虑到未来回国就业,想最后3个月再找一段叫得上名字的中大厂实习,选什么岗位方向机会更大点呢?本科期间大把时间都花在学生工作上了,负责并组织了很多次学校活动的视频拍摄,也拍出了很多很牛的宣传片。但一方面专业不相关,一方面不喜欢传媒行业的氛围,回到本专业找工作这些经历似乎连写进简历都不配了目前软件方向有c++和python的基础,上一段小公司实习做过一些数据库增删改查和点点点,毕设做的深度学习图像超分,会写点简单的python自动化脚本;硬件方向在学校摸过各种仪器,有一些简单课设,会一点ad画板子和multisim跑仿真;嵌入式的话,现在在一家芯片中小厂实习做嵌软sdk测试,搞一些测试板的压测,还有yolo模型转换部署的效果验证之类的...目前看下来,因为硕士的研究方向差太远,硬件开发方向应该是不太合适,是刷leetcode往软件测开→开发方向走?还是抓紧借助这段实习的资源掌握一两个Linux方向的嵌入式项目,往嵌软开发方向走?又或者研究研究,往偏硬件的质量or产品方向走?想请教请教有经验的前辈这些方向有没有可能走通,如果可能的话还是想拼一把,好好准备折腾一个月;没可能的话,再去叫不上名字的小厂实习感觉也意义不大,大概就只能摆烂留日了😭
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务