BLCL的博客小馆

首页

关于

归档

loading..
算法

qwen1.8B试玩

介绍阿里出了个qwen1.8B,对于资源有所要求的场景或者需要支持长文本的场景,应该是目前国内在这个量级内最优的选择了吧。接下来以此来打通微调、部署各个流程,算是一次记录。 微调首先按照要求和快速使用来跑起来,安装flash-attn,先跑下推理,正常,接下来就进入微调阶段。 按照微调流程,这里采用LoRA进行微调,但是需要注意的是,虽然官方给出了显存占用及训练速度,但是我在1080Ti上得到的显存占用还是要更高一些,大家可以将这个指标理解成为运行起来至少需要的显存,在进行训练时,还是会有一些增高。 训练的话采用finetune_lora_single_gpu.sh默认配置,幸亏我没有采用train,而是使用了dev数据集,7500条数据,8个多小时,,不过整个loss还是蛮正常的,没有出现issue里出..

更多
loading..
OpenAICopilot

Copilot单账号共享合租服务

Foreword 同ChatGPT,一个账号的Copilot分享给多人使用。默认Copilot单账号可以多端不同时使用,大概是3-4端没明显问题的。 由于通过某些渠道可以让Copilot直接访问到ChatGPT4,而Copilot只需要10刀,比直接买ChatGPT Plus便宜多了,就让很多人动起了Copilot转发到GPT的心思,这也导致了很多账号被彻底封禁。我这里不适用任何转发,只是单纯的作为代码辅助工具使用。 Copilot账号在开启时,建议关闭代码分享,否则可能涉及泄密等严重的问题 CoCopilot https://cocopilot.org/dash CoCopilot可以把原本的Copilot的账号分享给大概10个人左右的小团队使用而无需额外的操作。CoCopilot提..

更多
loading..
ChatGPTOpenAIDocker

ChatGPT Plus 单账号共享合租服务

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..

更多

Git 连接多个远程仓库

有时候我们可能会需要 push 到多个远程仓库,比如同时链接多个代码托管平台的账号,那么可以参考本文所述的方法配置。 保险起见在操作之前请先做好备份工作,毕竟数据无价。 方法 1 - 添加多个远程仓库比如要链接两个 Github 仓库,分别是 github1 和 github2,那么: 1234567891011121314151617# 添加 github1git remote add github1 https://github.com/username/github1.git# 添加 github2git remote add github2 https://github.com/username/github2.git# 提交到 github1git push github1 master# ..

更多

nodejs stream to buffer

/** * * @param {ReadableStream} stream */ async function streamToBuffer(stream) { return new Promise((resolve, reject) => { const buffers = []; stream.on('data', (chunk) => { buffers.push(chunk); }); stream.on('end', () => { resolve(Buffer.concat(buffers)) }) stream.on('error', (error) => { re..

更多
loading..
ChatGPT爬虫通用爬虫

一日一技:自动提取任意信息的通用爬虫

使用过GNE的同学都知道,GNE虽然是通用爬虫,但只是文章类页面的通用爬虫。如果一个页面不是文章页,那么就无能为力了。随着ChatGPT引领的大语言模型时代到来,这个问题基本上已经不是问题了。我们先来看一个效果。首先打开Linkedin,随便找一个招聘的岗位,如下图所示:然后,我们直接使用GPT从这里提取信息:对应的Prompt为:12345你是一个数据提取小助手,能够从一大段招聘相关的文本中提取有用的信息并以JSON格式返回。{经过清洗的网页源代码或者文本}请从上面的文本中,提取招聘相关的信息,返回数据格式如下: {"title": "岗位名称", "full_time": "是否为全职", "employee_num": "雇员数量", "level": "岗位等级", "skill": "岗位需要的..

更多
算法

ChatGLM微调记录

介绍以ChatGLM-6B ptuning提供的微调代码来进行测试,整体代码在此。 训练和推理训练就直接使用官方代码啦,推理也是滴,整体流程跑通都很顺畅,整体是采用quantization_bit=4,所以单卡(5~6G显存)就能跑的起来。 记录几个有意思的点。 1. p-tuning这个是众多Parameter Efficient fine-tune实现方式之一,其发展历程简单理解有两个阶段,一是人工构造template,二是机器自己学习一个template。 比如一开始做分类,例如“这个沙发怎么样”,那就在这句话前面(当然也可以放到后面)加上一个template,比如情感分析,这个沙发怎么样,你觉得这句话是正向还是负向:这个沙发怎么样,那训练时只对这个template进行微调,因为微调seq_len很..

更多
loading..
SESDebugFreeRTOS

SES使用Ozone调试FreeRTOS

Foreword Debug遇到一个诡异情况,之前没注意过 单步失效 简单说系统里有很多地方在read,但是debug的那个read,在进入read内部以后,会出现整个堆栈指针都跳变成另外一个线程中read流程 ssize_t read(struct file *filep, void *buf, size_t nbytes) { struct inode *inode; int ret = -EBADF; configASSERT(filep); inode = filep->f_inode; /* Was this file opened for read access? */ if ((filep->f_oflags & O_RDOK) == ..

更多
loading..
Python爬虫通用爬虫

GnePro:文章类通用爬虫接口

GnePro是开源项目GNE的付费版,能够实现如下功能:输入任意文章页面的URL,返回标题/作者/正文/发布时间/图片/面包屑等一系列信息支持异步加载文章页提取支持上传自定义的HTML代码提取正文支持自动检测网页编码支持自动提取网页全部URL在8个国家13万个新闻类网站进行测试,准确率高达90%提取文章正文12345678910111213141516171819import requestsimport jsonurl = "https://crawler.kingname.info/gne/crawl"body = { "url": "https://www.kingname.info/2023/10/17/rubbish/", "js": False, "charset": "auto"}he..

更多
loading..
Python后端

一日一技:分布式系统的低成本权限校验机制

经常关注未闻Code的同学都知道,我做了一个叫做GNE的开源项目,它能够自动提取新闻类网页的正文。效果远远好于市面上其他的开源新闻提取工具。大家可能不知道,GNE还有一个高级版,叫做GnePro。它可以让你输入URL就自动提取新闻的正文,提取的字段比GNE多得多。并且已经在8个国家13万个网站上做过测试,识别准确率100%。GnePro是使用K8S搭建的爬虫集群。背后有几十台服务器,通过一个网关做负载均衡。在设计GnePro权限机制的时候,我希望它能够尽量简单,尽量不依赖第三方的组件。常规的权限校验机制一般是这样的,用户登录以后,在Cookies里面会有一个SessionId.当用户要查询数据时,往后端发起请求。后端从请求中拿到这个SessionId,到Redis或者其他数据库中,查询到这个用户的Sess..

更多
1121314151677