Bryan Blog

个人分享 但愿各位看官喜欢

向量数据库 Faiss 的产品化实践

Productization practice of vector database faiss

背景介绍 在构建大模型知识库,即检索增强生成 (RAG) 服务时,中间存在一个重要的环境就是向量化搜索,而向量化搜索的实现避免依赖第三方向量数据库,那么开源的 Faiss 就是一个不错的选择。 Faiss 是 FaceBook 提供的开源向量库搜索库,在 Github 上已经有 28.1k star,是一个相对成熟的向量化搜索方案。 目前构建的 RAG 服务就是使用 Faiss 提供的向...

从开发到部署,搭建离线私有大模型知识库

From development to deployment, build an offline private large model knowledge base

背景介绍 最近一段时间搭建了一套完整的私有大模型知识库,目前完整的服务已经完成测试部署上线。基本之前的实践过程,从工程角度整理技术方案以及中间碰到的一些问题,方便后续对这个方向有需求的研发同学们。 为什么做离线私有化部署 在大模型火热起来之后,很多企业都有尝试相关服务。但是实际会碰到大模型不了解公司个性化的情况,无法针对公司情况给出个性化回答。因此就出现了针对大模型的知识库,通过提供公司内...

人 GPT 协作,从 0 手撸一个量化交易回测平台

Collaborate with GPT,create a quantitative trading backtesting platform from scratch

背景介绍 掌握技能最快的方法就是用技能创造产品,前一阵子对 GPT 辅助编程与项目生成做过较多的调研,但是一直处于试水阶段,没能发挥出 GPT 辅助编程的能力。 本次从新领域入手,借助 GPT 的力量,从 0 手撸一个量化交易回测平台,从这个过程看看 GPT 辅助编程到底有多强,能多大程度帮助程序员,是否有可能替代程序员。 效果展示 实际花费 2 周的休息时间,耗时 116 个番茄钟,从...

难以训练的深度学习

Difficult to train deep learning

背景介绍 深度学习的威力众所周知,但其模型训练过程常伴随着繁琐的挑战。许多人在深度学习的实践中都曾遇到过各种问题,这些问题使得理想模型的训练变得更加复杂。本文将以理论结合实践的方式,探讨深度学习训练过程中常见的问题及相应解决方案,主要涉及以下几个方面: 梯度消失与梯度爆炸 收敛速度缓慢 过拟合 梯度消失与梯度爆炸 是什么(What) 深度学习中模型参数的更新主要使用 梯...

从 0 手撸一个 pytorch

Implementing a simple version of pytorch from 0

背景介绍 最近抽空看了下 Andrej Karpathy 的视频教程 building micrograd,教程的质量很高。教程不需要任何前置机器学习基础,只需要有高中水平的数学基础即可。整个教程从 0 到 1 手撸了一个类 pytorch 的机器学习库 micrograd,核心代码不到 100 行。虽然为了简化没有实现复杂的矩阵运算,但是对于理解 pytorch 的设计思想有很大帮助。 ...

FATE 作业执行全流程追踪

Full process tracking of FATE job execution

背景信息 在最初接触 FATE 源码时就整理过 FATE Flow 源码解析 - 作业提交处理流程,文章整理了 FATE 是如何接收用户提交的作业 (job),然后将作业拆分为独立的任务 (task),然后执行完成各个任务,在这个过程中不断更新作业(job)的执行进度,直到最终完成整个作业(job)。如果期望对 FATE 作业提交的执行流程有一个基础的认识,可以详细了解下之前的文章。 这篇...

最简安全纵向联邦学习实现探索

Exploring the most simplified implementation of secure vertical federated learning

背景介绍 在之前的 FATE 纵向联邦学习实现探索 中介绍了纵向联邦神经网络实现的方案,但是神经网络模型比较复杂,整体的流程也会更复杂,很难简单呈现一个基础的安全纵向联邦的设计思想。因此以纵向联邦线性回归为例,去除与基础纵向联邦无关的部分,由浅入深介绍一个最简化的安全纵向联邦的设计方案。 纵向联邦线性回归 纵向联邦基础思想 前面的 联邦学习下线性回归算法实现概述 中介绍了如何实现最简单的...

深入探索 FATE 纵向联邦学习安全方案

In-depth exploration of FATE vertical federated learning security solution

背景介绍 在之前的 FATE 纵向联邦学习实现探索 介绍了纵向联邦神经网络训练的完整流程,在 深入探索 FATE 纵向联邦学习模型设计方案 详细介绍了纵向联邦神经网络的模型设计方案,但是对于如何在模型训练过程中保证模型的安全性基本都没有深入展开。这篇文章是 FATE 纵向联邦神经网络的最后一篇,补上了安全性这一环。 安全协议 在开始具体的内容的介绍前,需要先了解同态加密以及经典的同态加密实...

深入探索 FATE 纵向联邦学习模型设计方案

In-depth exploration of the FATE vertical federated learning model design solution

背景介绍 之前整理了一篇文章 FATE 纵向联邦学习实现探索 整体介绍了纵向联邦神经网络模型训练的流程,从中可以大致了解 FATE 纵向联邦神经网络中的模型设计: 包含训练的数据的参与方会训练一个本地模型(Bottom Model),此模型用于提取本地数据中包含的特征; 包含标签的参与方会额外训练一个全局模型(Top Model),此模型用于整合各个参与方提取的特征,根据整合的特...

FATE 纵向联邦学习实现探索

FATE vertical federated learning implementation exploration

纵向联邦学习 在之前的文章 联邦学习下线性回归算法实现概述 与 深入探索联邦学习框架 Flower 中,主要介绍的都是横向联邦学习的实践。最近针对纵向联邦做了一些探索,整理相关内容在这边。 横向联邦是 Google 在 2016 年提出的,主要解决拥有类似数据的多方进行联合训练的问题。而纵向联邦是 2018 年杨强教授提出的,主要解决跨行业的企业之间联合进行模型训练的问题。比如淘宝与银行之...