RLHF-policy_gradient
前言这个是RLHF系列中的策略梯度部分,在看了Hands-on-RL和parl两者实现后,感觉整体难度并不是很高,但是当自己从零实现时还是会莫名其妙多一些问题,相比深度学习来讲,还是有蛮多小细节是需要额外注意的。 注意点1. log平滑这里是指learn阶段中的获取最大期望阶段,如下代码所示: 12output = self.model(obs_bs)output = torch.log(output.gather(-1, action_bs.reshape(-1, 1))) 在最开始自己实现时,我没有加log进行平滑,发现模型没法收敛(CarPole-v0 reward最大得分为200),一直是8,9徘徊。后来我看了上述实现,发现这里多了个log,这里让我觉得很困惑,因为我觉得这一步是不必要的,原因有..
更多RHLF-DQN
前言下面记录下DQN算法以及一些细节,注意哦,本博客更多目的在于当下记录,并非完整严谨的哦,也或许有理解错误。 关于DQN,看了下网上的介绍以及从Q-Learning到DQN解决state和action无法枚举完的情况。另外也强烈推荐下面链接: 知乎网友实现DQN:可直接按照这个跑通体验下效果。 PaddlePaddle/PARL:这个是paddle出的RHLF库,并提供了相应的examples帮助入门和深入,并且环境也帮忙解决好了,如果debug能力比较强的话,建议直接看这个哦。 PyTorch DQN实现:这个是pytorch官方实现的DQN算法。 一些特别的点1. 俺是value based的,所以不需要softmax看下面这个DQN网络,你觉得有问题么? 12345678910111213cl..
更多

一日一技:如何强迫LLama3用中文回复?
最近大家都在说LLama3如何如何强大,追赶Claude3,超过GPT 4。但如果大家真的使用过,就会发现它连基本的中文都回答不好。如下图所示:LLama3总是尽可能回复英文,并且还会加很多表情符号。今天网上出现了一个中文微调版的LLama3:shenzhi-wang/Llama3-8B-Chinese-Chat,我也下载下来使用了,发现确实回复都是中文了,但回复的都是车轱辘话,一句话反复说。如下图所示:那么有没有什么办法,能够让LLama3既能回复中文,又能回复得聪明一些呢?网上有一段“生气的老奶奶”Prompt,可以尽可能让LLama3满足要求:123456问题Rules:- Be precise, do not reply emoji.- Always response in Simplified ..
更多

山特UPS控制群晖关机
Foreword 山特的UPS给ESXi用了,就一路串口,只能二选一,但是同时群晖NAS也需要对应关机,还好winpower里也给出来了网络关机接口 群晖开启SSH 默认群晖是未开启SSH,同时root是不允许ssh登录的 先使用默认账号登录进去 切换到root sudo -i 可能要输入密码,再次输入管理员密码即可 修改root密码 synouser --setpw root 新密码 修改ssh,允许root登录 vi /etc/ssh/sshd_config 然后重启一下ssh即可,面板上去掉勾应用,再勾上ssh就重启了,此时root就可以正常登录了 winpower winpower中使用SSH进行远程关机(shutdown -h now),输入ip和账..
更多

Foreword 单个ChatGPT Plus 账号共享合租,各自会话独立分割,就好像一个人使用一样,方便给一个组织或者多人使用。 CWS 源于chatgpt-web-share项目,适用于个人、组织或团队的 ChatGPT 共享方案。共享一个 ChatGPT Plus 账号给多人使用,提供完善的管理和限制功能。 https://github.com/chatpire/chatgpt-web-share 部署 新建目录 cd ~ mkdir cws && cd cws mkdir -p data/config 配置初始密码 export MONGODB_PASSWORD=password # MongoDB 密码 export INITIAL_ADMIN_PA..
更多

Spring Boot 启动流程分析
想来用了这么久的 Spring Boot,但一直没仔细了解它是怎么启动的。那既然想起来了,不如趁热打铁,从它的入口开始,深入看看 Spring Boot 在启动时都做了些什么。 启动入口入口这部分就没啥说的,跟个 Hello world 差不多,一个 main 方法执行 SpringApplication#run 来启动整个 Spring Boot 应用。 123456@SpringBootApplicationpublic class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); }} @Sprin..
更多

一日一技:2秒抓取网页并转换为markdown
在《一日一技:自动提取任意信息的通用爬虫》这篇文章中,我提到可以通过大模型从网页内容里面提取结构化信息。为了节省Token,文章里面我直接提取了页面上的所有文本。这种方式需要自己写代码来过滤HTML中的垃圾标签。并且提取出来的文本可能会混在一起。虽然大模型在很大程度上不会受到标点符号的影响。但如果有办法把网页直接转换为Markdown的话,大模型在解析时就能更加准确。现在,你不需要写任何代码就可以实现这个目标!假设我们需要抓取我的这篇知乎专栏文章:小问题,大隐患:如何正确设置 Python 项目的入口文件?。我们知道知乎是有反爬虫的,直接抓取并不容易。怎么样在2秒内抓取这篇文章,并转换为Markdown呢?非常简单,你只需要在url前面加上https://r.jina.ai/并回车就可以了。完整的URL变..
更多多人游戏网络技术基础
前言很久不更新Blog了,是自己懈怠了很多,所以在思考了一下之后明白,我需要继续加强学习 加入ubisoft之后其实也没做什么值得称道的事儿 只是一个基础的开发人员,不过工作当中有一些可以被记录和梳理的地方 我也会更新到Blog当中 我会把学习捡起来的,我会的。 开发多人游戏需要了解的概念首先,开发多人游戏会涉及到非常多的网络概念和机制,所以这里会梳理所有相关的网络机制 梳理这些的原因,是将知识进一步拆分,免得掉入庞大的知识深渊,也可以帮助我们去定点学习 在梳理完这些知识之后,我会根据每个技术单独写Blog(虽然已经开了很多坑了) Server 和 Client这个其实比较简单,因为无论是游戏,还是普通的web开发,或者是基础的网络操作,都离不开server和client Server游戏的服务器,存储所..
更多

Nintendo Switch 软破解,变安卓TV
Foreword 隔6年,打算把老Switch破解了,软破,既可以当正版完,又能在平时切换成电视主机,方便用来串流或者使用一些不受限的APP。主要受Nvidia Shield Pro 2019影响,这么个老设备都可以在电视领域虐杀一片,Switch作为老大哥,性能解禁,秒杀其他的应该不是问题 软破 软破的好处是不需要拆机,很简单就可以操作 达到的效果也很好,可以选择启动正版、大气层(盗版)、安卓系统、ubuntu等等,后续怎么玩就取决于自己了,而且关键是这并不会影响正版的所有内容,正版该怎么玩还是怎么玩 可破区分 Switch有软破硬破,18年6月前的机器基本都可以软破,就是不需要任何焊接或者拆机就能完成注入破解,而且平常可以双系统,不影响正版使用。 软破常用的识别图,不过不是很准确,可..
更多

Nintendo Switch 软破解
Foreword 隔6年,打算把老Switch破解了,软破,既可以当正版完,又能在平时切换成电视主机,方便用来串流或者使用一些不受限的APP。主要受Nvidia Shield Pro 2019影响,这么个老设备都可以在电视领域虐杀一片,Switch作为老大哥,性能解禁,秒杀其他的应该不是问题 软破 可破区分 Switch有软破硬破,18年6月前的机器基本都可以软破,就是不需要任何焊接或者拆机就能完成注入破解,而且平常可以双系统,不影响正版使用。 软破常用的识别图,不过不是很准确,可以用下面的地址查询一下 https://damota.me/ssnc/checker/ 输入序列号就行了,我这个1002开头的比较特殊,一部分机器是较晚生产的,所以他们不能破解,一部分是比较早生产的所以..
更多