Everything you care about in one place

Follow feeds: blogs, news, RSS and more. An effortless way to read and digest content of your choice.

Get Feeder

leovan.me

中文博客 on Leo Van | 范叶亮

Get the latest updates from 中文博客 on Leo Van | 范叶亮 directly as they happen.

Follow now 35 followers

Latest posts

Last updated 6 days ago

大语言模型微调 (Fine-tuning Large Language Models)

8 days ago

什么是微调 微调(Fine-tuning)是深度学习中迁移学习的一种方法,其将现有模型已经学到的知识作为学习新任务的起点。虽然微调表面上是模型训练中使用的一种技术,但它与传统意义上的“训练”截然不同。为了消除歧义,在这种情况下通常将传统意义上的“训练”称为预训练(Pre-training)。1 与微调类似的另一个概念称之为后训练(Post-training),两者均发生在预训练之后,其目的也都是为了进一步提升模型的效果,通常两者可以理解为相同的概念。从优化的发起人角度出发:当终端用户希望模型可以更好的适配自己的领域知识,则需要进行的操作称之为微调;当模型开发者希望可以更好的将模型与人类的价值、道德和预期保持一致,则需要进行的操作称之为后训练。2 为什么微调 从本质上讲,磨练一个预训练基础模型的能力要比从头开始训练一个新模型更容易,也更省钱,因为预训练已经获得了与当前任务相关的广泛知识。对于具有数百万甚至数十亿个参数的深度学习模型尤其如此,例如在自然语言处理(NLP)领域的大语言模型(LLM)或卷积神经网络(CNN)和视觉转换器(ViT)(用于计算机视觉任务,例如图像分类、对象检测或图像分割等)。 通过迁移学习利用先前的模型训练,微调可以减少获得适合特定用例和业务需求的大模型所需的昂贵算力和标记数据量。例如,微调可用于调整预训练大语言模型的对话语气或预训练图像生成模型的图片样式,还可用于使用专有数据或领域特定的专业知识来补充模型的原始训练数据集。 如何去微调 微调是需要进一步训练模型的技术,模型的权重已经通过先前的预训练得到了更新。使用基础模型的先前知识作为起点,通过在任务特定的较小数据集上进行训练来对模型进行微调。 虽然从理论上讲,任务特定的数据集都可以用于初始训练,但在小数据集上从头开始训练一个大模型可能会存在过拟合的风险:模型可能会在训练示例中学习得到良好的表现,但对新数据的泛化能力却很差。这会导致模型不适合给定的任务,也违背了模型训练的初衷。 因此,微调可以兼具两者的优势:利用对大量数据进行预训练所获得的广泛知识和稳定性,并训练模型对更详细、更具体概念的理解。 微调方法分类 参数角度...

提升图片分辨率和质量

about 1 month ago

本节将介绍如何将一张低分辨率的图片转换成一张高分辨率高质量的图片。 Bilibili YouTube 为了对比提升分辨率后的图片质量,我们先下载一张原始的高清图片 1,通过 ImageMagick 命令将其转换为一个低分辨率低质量的图片,未来基于这张转换后的图片进行分辨率和质量的提升,再与原始图片进行对比验证提升的效果。 magick toucan-raw.jpg -resize 512x -quality...

使用画布创建和组合生成新的图片

about 2 months ago

本节将介绍在使用画布进行创建和组合生成新的图片的过程中使用到的核心工具。 Bilibili YouTube 首先,我们使用 Juggernaut XL v9 模型和如下提示词生成一张基础图片留作备用: 基础图片 提示词模板: Environment Art...

探索 AI 模型和概念适配器

about 2 months ago

本节将介绍图片生成使用到的 AI 模型和概念适配器,我们将讨论提示词和模型的训练方式是如何最终决定提示词对生成图片的有效性。 Bilibili YouTube 在图片生成过程中你需要认识到提示词并非在任何时候都是有效的。相同的提示词在一个模型上可以获得很好的生成效果,但在另一个模型上可能无法生成所需的图片。这是由于模型训练所使用的图片和图片的标注文本不同所导致的,因此模型的提示词指南会格外重要。这也是为什么训练自己的模型会更好,因为你完全清楚在训练模型时所使用的标注文本。 在本节教程中我们不会讨论如何训练模型,我们将重点介绍不同模型之间的差异,展示它们如何影响图片生成的过程。除此之外我们还会讨论概念适配器(通常也称为 LoRA),来帮助你更好的理解相关工具。 模型比较 进入模型管理页面,在添加模型选项卡处选择 HuggingFace,输入 cagliostrolab/animagine-xl-4.0...

理解图像到图像和降噪过程

2 months ago

本节将介绍「 图像到图像」和「降噪」两个重要概念,帮助大家更好的理解 Invoke 中的画布是如何工作的,或者说生成式 AI 图片生成是如何工作的。 Bilibili YouTube 在之前的图像生成示例中,单击 Invoke 按钮后,整个图像生成过程会从一张静态噪声图像开始,模型会将噪声逐步转化为最终图片,整个过程如下图所示: 将噪声图像转化成最终图片的过程称之为降噪(Denoising)。...

使用控制层和指示控制图片的生成

2 months ago

本节将介绍如何使用控制层和指示来精确控制图片的生成。 Bilibili YouTube 控制网络 控制层通常用作控制网络(ControlNet)在图片生成中以线或结构的形式来提供参考。在 SDXL 中,常用的预训练控制网络有 1: Contour Detection (scribble) Scribble...

使用 Invoke 创作你的第一张图片

3 months ago

本节将展示如何使用 Invoke 创作你的第一张图片。 Bilibili YouTube 安装 Invoke 从 Invoke 官网下载对应系统的安装包,根据如下步骤完成安装。 运行 Invoke...

在 OpenWrt 和群晖中自动申请和部署证书

3 months ago

为了在本地局域网环境中摆脱 IP 用上域名(纯属闲来无事瞎鼓捣),购入了 leovan.dev 域名。想着把各种服务都映射到不同的二级域名上,这样就可以不用 IP 和端口了,岂不完美。然,问题这就来了。 acme.sh 域名是在 Cloudflare 上申请的,在 Cloudflare...

凡人歌

11 months ago

最近在没有快进的情况下看完了一部剧《凡人歌》,你说由多好看吗,也不是,只是共鸣多些,剧中的种种都好似在“点”我。这一度让我陷入了第二次职业焦虑,但比第一次职业焦虑(大概 5 年前)会显得没那么严重,没那么慌张。 悲观与乐观 我是一个做事比较喜欢先考虑最坏情况的人,或者说是一个对风险敏感的保守型人,我理解这算是一种悲观。但我也乐观,因为我认为只要努力总还是能够进步的,不是对自己的能力由多自信,只是感觉在合适的地方总会有一席用武之地。说好听了这可能是乐观,说不好听了这可能是自我感觉良好,甚至有种逆风而上的狂妄自大。不过实话实说狂妄应该不至于,年纪大了,各种情绪都会收敛很多,会觉得容忍比自由更重要。为什么聊到悲观和乐观,因为看下来这可能是引起我第二次职业焦虑的根因:对宏观(不够悲观)和微观(过于乐观)的认知偏差。 大学学了七年的管理,两门经济学基础课宏观经济学考的算是所有科目中最烂的,微观经济学到着实不赖。宏观经济学确实会比微观经济学难一些,毕竟有一只看不见的手老在调控这儿调控那儿的 。后疫情时代已经有三年左右,经济确实恢复的不理想,这点大家都有目共睹。但可能我仍是一叶障目,背后到底有多少问题可能也只是片面了解。看了付鹏在凤凰湾区财经论坛上的演讲,让我这个没啥宏观认知的人也能清晰地直面市场现状。 还有就是近期在招人,骚扰了很多有段时间(短则个把月,长则一两年)没太联系的前同事。聊下来,感觉能维持现状就算不错的了,还有些是在走下坡路。或许在当前的职位供需下,对大部分人来说可能最好的就是保持不变,对于发生变化的也只有降低个人预期才不至于出现空档。 剧中与剧外 写本文前也简单看了看豆瓣上的剧评,里面有不少提到这里面哪一个都不算是“凡人”。没有错,但剧的背景在北京,再加上编剧可能也会有一些夸张的描述,所以同更多人理解的“凡人”有很大差距,但对于我们这些在一线城市打拼的人来看,距离就没有那么远了。至少就我而言,剧中每个人的好我可能粘不上,但每个人的烦我却都似曾相识。 那伟从买了 50...

Shell 调用方式 fork,exec 和 source (Run Shell with fork, exec and source)

about 1 year ago

在 Linux 中调用一个脚本有多种方式,例如 fork,exec 和 source。其中 fork 为 Linux 系统调用,exec 和 source...

重定向和管道 (Redirect and Pipe)

over 1 year ago

输入输出文件描述符 在 Linux 启动后,init 进程会创建 3 个特殊的文件描述符分配给输入输出。 文件描述符 英文描述 中文描述 0 stdin...

模型压缩和推理加速 (Model Compression & Inference Acceleration)

over 1 year ago

随着深度神经网络模型的复杂度越来越高,除了训练阶段需要大量算力外,模型推理阶段也较多的资源。在深度学习落地应用中,受部署环境的影响,尤其是在边缘计算场景中,有限的计算资源成为了复杂模型的应用壁垒。 复杂模型的部署问题突出表现在三个方面,如下图所示: 速度:实时响应效率的要求,过长的响应耗时会严重影响用户体验。 存储:有限的内存空间要求,无法加载超大模型的权重从而无法使用模型。 能耗:移动场景的续航要求,大量的浮点计算导致移动设备耗电过快。 针对上述三类问题,可以从模型压缩和推理加速两个角度出发,在保持一定模型精度的情况下,让模型速度更快、体积更小、能耗更低。 模型压缩 常用的模型压缩方法有如下几种类型: 剪裁 剪裁(Pruning)的核心思想是在尽量保持模型精度不受影响的前提下减少网络的参数量,例如减少网络中连接或神经元的数量,如下图所示: 剪裁最常用的步骤如下: 训练:在整个剪裁过程中,该步骤主要为预训练过程,同时为后续的剪裁工作做准备。...