How does model.generate work in transformers? (from llama's perspective)
transformers is a well-known python package that wraps various model’s implementation. It provides an easy way to implement/modify/create various models.
A usual implementation for causal llm look like below:
1234567from transformers import AutoTokenizer, AutoModelForCausalLMtokenizer = AutoTokenizer.from_pretrained("meta-llama/Llama-3.1-8B-Instruct")model = AutoModelForCausalLM.from_pretrained("meta-llama/Llama-3.1-8B-Instruct")inputs = tokenizer("Hello world ...
HP-K10GW
这篇blog简单记录了一下我手头的HP键盘的一些热键,因为找不到说明书了,网上也不好查,索性写在这里
fn + Win 锁定/解锁windows键
fn + A/S 在Windows/MAC键位映射之间切换(Alt和Win的键位对调)
fn + Q/W/E 多设备蓝牙切换
有空的时候说不定会写一些测评
微服务框架——从gRPC到Service Mesh
微服务 (Microservices) 是一种软件架构风格,它是以专注于单一责任与功能的小型功能区块 (Small Building Blocks) 为基础,利用模块化的方式组合出复杂的大型应用程序,各功能区块使用与语言无关 (Language-Independent/Language agnostic) 的 API 集相互通信。——wikipedia
随着分布式系统的兴起,人们不再满足于将一个系统的不同应用进行分布式部署,而是将一个应用拆分成一个个的微服务,将它们部署到不同的主机上。微服务的优点有很多,比如能够简化开发、逻辑清晰、扩展性强等等。但是同时,微服务也面临复杂度高、运维复杂等问题。为了使微服务更加好用,一系列的微服务框架不断地迭代更新,这个过程中出现了许多有趣的架构设计。本文从gRPC、注册中心、dubbo等微服务相关的技术入手介绍微服务中的一些概念和架构
前置知识——RPCRPC是远程过程调用(Remote Procedure Call)的简写。 RPC 的主要功能目标是让构建分布式计算(应用)更容易,在提供强大的远程调用能力时不损失本地调用的语义简洁性。为 ...
HUST CSE 机器人与人工智能安全课程 Q&A
这篇帖子的目的这篇帖子是HUST网安学院机器人与人工智能安全课程的答疑帖,用来解答课程中出现的各种问题;如果有新的Q&A希望补充的话,可以直接在评论区留言
No.1Q12RLException: [turtlebot3_remote.launch] is neither a launch file in package [turtlebot3_bringup] nor is [turtlebot3_bringup] a launch file nameThe traceback for the exception was written to the log file
A修改~/.bashrc,确保两个setup.bash是如下顺序并且没有重复source:
12source /opt/ros/noetic/setup.bashsource ~/catkin_ws/devel/setup.bash
No.2Qubuntu的网络设置中没有有线连接这个选项
A用nmcli重启网络服务
12sudo nmcli networking off sudo nmcli networki ...
尝试一下新的写博客方式(github pages+github.dev)
因为在自己的服务器搭了k3s集群,原本跑在服务器上的nginx让位于traefik的service load balancer,对服务器的本地文件进行代理变成了一件有点麻烦的事情……而且原本写博客的方案是在服务器上进行md文件的管理和静态页面的生成,实际上并不是很方便……这两个因素促使我转向github pages + github.dev的写作方式
原来的方案在服务器上安装npm,hexo等,然后直接用hexo server -p 8080起一个本地的服务,再用nginx把80和443端口的流量代理代理到这个服务好处是hexo会在文件有更改时立即重新编译,只需要管理自己的.md文件即可坏处也很明显——自己的主机莫名其妙就少了一个可用端口,代理服务套了两层,并且因为服务器本身配置比较低,加载网页的时间相当长……所以就决定把它扬了
现在的方案其实就是github pages,hexo上有文档在 GitHub Pages 上部署 Hexo基本原理就是用github上的资源来代替本地的hexo generate传上去之后博客非常顺利地可以访问了,但现在有两个问题:主题怎么改?要怎么优雅地 ...
Dev Container-迅速构建开发环境
Dev Container介绍配置开发环境时常会成为一个令人头大的问题,一些IDE提供了方便的开发环境集成,但是通常会体量过大而且选择有限
而有一个东西叫做dev container,基本上就是一个容器管理插件,通过它可以迅速将你的项目扔到一个打包好的docker环境里面运行,而不用关心环境配置等问题。
Dev Container使用本地使用Dev container的提供了包括Visual Studio Code插件和CLI等多种使用方式,这里以vscode的Dev container插件为例只要在vscode里安装dev-container这个插件,然后repoen folder in container就可以自动生成配置文件并拉取选择的docker镜像,
我们也可以编写自己的配置文件(Dockerfile或者docker-compose.yml),放在和devcontainer.json同级的目录下,然后就可以构建自己的镜像
最简单的例子:1.拉取远程镜像
1234//devcontainer.json{ "image": "mcr. ...
eCryptfs-你的下一个加密系统,何必是bitlocker
什么是eCryptfseCryptfs 是 Linux 内核原⽣的⼀种堆叠式加密⽂件系统(stacked cryptographic filesystem)。堆叠式⽂件系统是指以现有挂载的⽂件系统(称为下层⽂件系统-lower filesystems)为基础,在其之上构建新的⽂件系统。eCryptfs 是⼀种堆叠式⽂件系统,它在 ⽂件被写⼊或从下层⽂件系统读取时对其进⾏加密和解密操作。
eCryptfs的架构设计eCryptfs是夹在底层⽂件系统和VFS(Virtual Filesystem Switch)之间的⼀层加密功能,并且 属于Kernel的⼀部分.当应⽤程序尝试读写加密的⽬录的时候,eCryptfs通过与Kernel的 Crypto API、Keyring以及Userspace⾥⾯的eCryptfs daemon的通信进⾏加密和解密操作。 其中Userspace的eCryptfs daemon和Kernel的Keyring共同负责秘钥的管理,⽽Crypto API 则负责使⽤密钥对数据进⾏加密和解密
eCryptfs的加密解密流程
关于密钥eCryptfs的加密解密涉及到使⽤ ...
低秩自适应(LoRA)原理、应用以及发展
摘要在人工智能领域,低秩自适应(LoRA)技术是一种通过使用低维结构来近似大型模型的高维结构,以降低模型复杂性的技术。它旨在识别和删除大型模型中的冗余或不相关信息,创建一个更小、更易于管理的模型表示,同时保留原始模型的性能。低秩自适应技术的优点包括减少模型参数数量、提高训练吞吐量、减少模型推理延迟等。本文将从大语言模型的训练入手介绍LoRA的概念,并介绍LoRA在大语言模型训练以及图像生成方面的发展现状,最后总结LoRA对当今人工智能发展的作用。
绪言低秩自适应技术可以应用于各种机器学习任务,如图像分类、语音识别、自然语言处理等。它通常在预训练模型的权重矩阵中添加一个低秩矩阵,使模型能够更有效地学习特定于任务的信息。在训练过程中,低秩自适应层可以初始化随机值,并在微调过程中更新以学习特定任务的信息。
在众多人工智能应用中,大语言模型属于时下相对热门的一个分支,尤其是GPT-4的出现使得大语言模型的潜力被进一步挖掘。但同时,模型的参数量也不断增长;对于GPT-3,其模型的参数量已经能够达到1750亿,GPT-4模型的参数量达到了1.8万亿;在模型具有如此巨大的可调节参数的情况下,想要对模 ...
计网-运输层
3.1 概述和运输层服务运输层的功能为运行在不同主机上的应用进程提供逻辑通信
(对比之下,网络层协议实现的是主机之间的逻辑通信)
3.1.1 运输层和网络层的关系
关于命名:下面将TCP和UDP的数据统称为报文段(实际上,UDP的数据有时也被成为数据段)
3.2.2 因特网运输层概述IP服务模型:尽力而为交付服务 => 不可靠把主机通信扩展为进程通信被称为运输层的多路复用与多路分解
TCP:传输控制协议UDP:用户数据报协议
TCP能提供的服务:
1、进程间的数据交互(多路复用/多路分解)
2、差错校验/差错检测(检查报文是否完整)
3、可靠的数据传输(reliable data transfer)
4、拥塞控制(congestion control)
1、2点是所有的运输层协议要实现的功能(实际上,UDP只实现了这两个功能)
多个应用层报文通过TCP复用可以成为一个TCP报文(socket,etc)各类运输层报文组合成IP数据报并在网络层传输
3.2 多路复用与多路分解多路分解: 将运输层报文段中的数据交付到正确套接字的工作多路复用: ...
计网-SDN网络
控制平面传统的路由器应该包含的两项功能:
路由功能
数据转发功能计算生成转发表的过程是分布式的
SDN的解决方案:路由控制功能从本地路由器分离,汇聚到远程控制器,与路由器的本地控制代理(CAs)进行交互,以计算转发表;转发表的计算对于由单一远程控制器控制的路由器来说是集中的
数据平面都由路由器实现
传统:基于目标地址 + 转发表
SDN:基于多个字段+流表 #TBS
SDN架构
OpenFlow协议相比于IP协议有较大的改动