暂时未有相关云产品技术能力~
LLM/LLMOps,公众号:吃果冻不吐果冻皮,LLM教程:https://github.com/liguodongiot/llm-action
什么是 Docker ? Go 语言开发,容器虚拟化技术,C/S 架构,具有隔离、快速、轻便的特点。
架构组成 和大多数分布式系统一样,Kubernetes 集群至少需要一个主节点(控制平面)和多个计算节点(计算平面)
MySQL 虽然以简单著称,但其内部结构并不简单。
Design Patterns(设计模式) 是面向对象软件开发中最好的计算机编程实践。 Spring 框架中广泛使用了不同类型的设计模式,下面我们来看看 Spring 到底有哪些设计模式?
Design Patterns(设计模式) 是面向对象软件开发中最好的计算机编程实践。 Spring 框架中广泛使用了不同类型的设计模式,下面我们来看看 Spring 到底有哪些设计模式?
事务是一个不可分割的数据库操作序列,也是数据库并发控制的基本单位,其执行的结果必须使数据库 从一种一致性状态变到另一种一致性状态。事务是逻辑上的一组操作,要么都执行,要么都不执行。 事务最经典例子就是转账了。假如小明要给小红转账1000元,这个转账会涉及到两个关键操作就是:将小
事务是一个不可分割的数据库操作序列,也是数据库并发控制的基本单位,其执行的结果必须使数据库 从一种一致性状态变到另一种一致性状态。事务是逻辑上的一组操作,要么都执行,要么都不执行。 事务最经典例子就是转账了。假如小明要给小红转账1000元,这个转账会涉及到两个关键操作就是:将小
BentoML 提供易于使用的本地和集中式商店来管理模型和bentos。 本文重点介绍基于本地文件系统的模型和 bento 商店的使用。 要了解有关集中式商店解决方案的更多信息,请参阅 BentoML Yatai。
Bentos 是 BentoML 服务的布局格式。 Bento 是一个独立(self-contained)的存档,其中包含部署服务所需的所有信息,例如模型、代码、配置和数据文件。
APIs 是在服务定义中定义的函数,它们作为 HTTP 或 gRPC 端点暴露出去。 如果一个函数用 @svc.api 装饰器装饰,它就是 APIs 的一部分。 APIs 可以定义为 Python 中的同步函数或异步协程。 APIs 通过调用服务定义中创建的函数和模型运行器(runners)中的预处理和后处理逻辑来满足请求。
服务定义是面向服务架构(SOA)的体现,是 BentoML 中的核心构建块,用户在其中定义服务运行时架构和模型服务的逻辑。 本文将剖析和解释服务定义中的关键组件。让您将全面了解服务定义的组成以及每个关键组件的职责
在讲述垃圾收集器之前,我们得先知道JVM中常见的垃圾收集算法有什么,具体请参考我的这篇博文。如果说收集算法是内存回收的方法论, 那垃圾收集器就是内存回收的实践者。下面就来详细概述下Serial、ParNew、Parallel Scavenge、Serial Old、Parallel Old、CMS、G1这七款垃圾收集器的特点及使用场景。
在讲述垃圾收集器之前,我们得先知道JVM中常见的垃圾收集算法有什么,具体请参考我的这篇博文。如果说收集算法是内存回收的方法论, 那垃圾收集器就是内存回收的实践者。下面就来详细概述下Serial、ParNew、Parallel Scavenge、Serial Old、Parallel Old、CMS、G1这七款垃圾收集器的特点及使用场景。
老子说:有道无术,术尚可求也。有术无道,止于术。如果说设计模式是“术”,那么设计原则就是“道”。今天,我们一起来聊聊软件工程中一些常用的设计原则。
老子说:有道无术,术尚可求也。有术无道,止于术。如果说设计模式是“术”,那么设计原则就是“道”。今天,我们一起来聊聊软件工程中一些常用的设计原则。
BentoML 是一个用于机器学习模型服务的开源框架,旨在弥合数据科学和 DevOps 之间的差距(gap)。 数据科学家可以使用 BentoMl 轻松打包使用任何 ML 框架训练的模型,并重现该模型以用于生产。 BentoML 协助管理 BentoML 格式打包的模型,并允许 DevOps 将它们部署为任何云平台上的在线 API 服务端点或离线批量推理作业。
之前介绍了如何进行 JVM 内存自动回收以及常见的垃圾收集算法。现在Java应 用越做越庞大,光是方法区的大小就常有数百上千兆, 里面的类、 常量等更是恒河沙数。因此,Java虚拟机实现这些算法时,必须对算法的执行效率有严格的考量, 才能保证虚拟机高效运行。
之前介绍了如何进行 JVM 内存自动回收以及常见的垃圾收集算法。现在Java应 用越做越庞大,光是方法区的大小就常有数百上千兆, 里面的类、 常量等更是恒河沙数。因此,Java虚拟机实现这些算法时,必须对算法的执行效率有严格的考量, 才能保证虚拟机高效运行。
在《Java虚拟机规范》的规定里,除了程序计数器外,虚拟机内存的其他几个运行时区域都有发生OutOfMemoryError(下文称OOM) 异常的可能。
在《Java虚拟机规范》的规定里,除了程序计数器外,虚拟机内存的其他几个运行时区域都有发生OutOfMemoryError(下文称OOM) 异常的可能。
之前探讨了Java虚拟机内存模型的概况,了解了内存中到底都放了些什么数据,那它们是如何创建、如何布局以及如何访问的呢,下面来探讨一下HotSpot虚拟机在Java堆中对象分配、 布局和访问的全过程。
Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域有各自的用途, 它们创建和销毁的时间不同, 有的区域随着虚拟机进程的启动而一直存在, 有些区域则是依赖用户线程的启动和结束而建立和销毁。 根据《Java虚拟机规范》 的规定, Java虚拟机所管理的内存将会包括以下几个运行时数据区域,如下图所示。
本文将介绍 Milvus 系统中数据写入、索引构建、数据查询的具体处理流程,同时,还会介绍Milvus支持的索引类型;另外,还将讲述如何定义字段和集合Schema。
本文将介绍 Milvus 系统中数据写入、索引构建、数据查询的具体处理流程,同时,还会介绍Milvus支持的索引类型;另外,还将讲述如何定义字段和集合Schema。
Milvus 是一款云原生向量数据库,它具备高可用、高性能、易拓展的特点,用于海量向量数据的实时召回。
Milvus 是一款云原生向量数据库,它具备高可用、高性能、易拓展的特点,用于海量向量数据的实时召回。
在某些情况下,数据太大,或者其处理的组织方式使其无法在本地机器磁盘中处理,最好避免将其从当前的外部位置移动。 例如,NAS 上的数据、在 HDFS 上处理数据、通过 SSH 运行 Dask,或者用于从 S3 流式传输数据以对其进行处理的脚本。
⚠️ 这是针对特定情况的高级功能,除非绝对没有其他选择,否则不推荐使用。 在大多数情况下,dvc add 和 dvc import-url 的 to-cache 或 to-remote 策略更方便。
依赖(Dependency):记录在 Stage 的deps部分(在 dvc.yaml 中)或 .dvc 文件中的文件或目录(可能由DVC跟踪)。请参阅 dvc run。当任何依赖项发生变化时,Stage 就会失效(被认为已过时)。
DVC 将许多现有的想法结合到一个工具中,目标是将软件工程的最佳实践带入数据科学领域。
为了跟踪使用 dvc add、dvc repro 等添加的数据文件和目录,DVC 将所有这些文件移动到项目的缓存中。
您可以通过在一个或多个 dvc.yaml 文件(或流水线文件)中定义各个阶段(Stage)来构建数据科学或机器学习流水线(Pipeline)。 Stage 相互连接时形成 Pipeline (形成依赖关系图,具体请见: dvc dag)。
您可以通过在一个或多个 dvc.yaml 文件(或流水线文件)中定义各个阶段(Stage)来构建数据科学或机器学习流水线(Pipeline)。 Stage 相互连接时形成 Pipeline (形成依赖关系图,具体请见: dvc dag)。
.dvcignore 文件标记在遍历 DVC 项目时应排除哪些文件和目录。有时您可能希望 DVC 在处理项目时忽略某些文件。 例如,在工作区目录中处理大量数据文件时,对于dvc status这样简单的操作,您可能会遇到执行时间延长的问题。 在其他情况下,您可能
您可以使用 dvc add 来跟踪位于当前工作空间中的数据文件或目录。 此外,dvc import 和 dvc import-url 允许您将数据从外部的位置带到您的项目,并开始在本地跟踪它。 以 .dvc 扩展名结尾的文件由这些命令创建为可以使用 Git 进行版本控制的数据占位符。 它们包含随时跟踪目标数据所需的信息。
在您的工作空间中使用 dvc init 将开始一个 DVC 项目,包括内部的 .dvc/ 目录。 从那里开始,您将创建和管理不同的 DVC 文件,并在使用 DVC 并进行数据科学实验时占据缓存。
DVC 存储库的主要用途之一是数据和模型文件的版本控制。DVC 还支持这些数据制品跨项目复用。这意味着您的项目可以依赖于来自其他 DVC 存储库的数据,就像一个用于数据科学的包管理系统一样。
在数据科学项目上取得进展需要大量的实验(尝试调整参数、尝试不同的数据、改进代码、收集更好的指标等)。跟踪所有这些变化是必不可少的,因为我们可能希望在比较结果时检阅它们。以后恢复这些条件(参数、数据等)对于重现结果或恢复工作是有必要的。
数据科学中使用的数据集往往超过平常的存储和网络容量。 随着越来越多的人获取相同的数据,存储需求迅速扩大,从而产生重复数据(增加成本)。 并且在每个环境中都等待下载,浪费了大量宝贵的时间。
具体场景如下: 多个用户在一台机器上拥有同一个项目的副本。 不同的项目使用相同的数据,因此集中在本地存储是有意义的。 有一个共享的 NAS 驱动或存储服务器安装在网络上。 您需要在工作的机器和共享的 GPU 服务器之间无缝共享数据(用于训练 ML 模型)
将 DevOps 方法应用于机器学习 (MLOps) 和数据管理 (DataOps) 越来越普遍。对于一个完善的 MLOps 平台来说,需要囊括资源编排(为模型训练提供服务器)、模型测试(验证模型推理)、模型部署到生产,以及模型监控和反馈等机器学习生命周期各个环节。 DVC 可以管理数据/模型和重现 ML 流水线,而 CML 可以协助编排、测试以及监控。
与 Git 一样,DVC 允许在分布式环境进行协作。 我们可以轻松地将所有数据文件、目录以及匹配的源代码完全一样地导入任何机器。 您需要做的就是为您的 DVC 项目设置远程存储库,并将数据推送到那里,以便其他人可以访问它。 目前 DVC 支持 Amazon S3、Microsoft Azure Blob Storage、Google Drive、Google Cloud Storage、SSH、HDFS 和其他远程存储地址,并且该列表还在持续增长。 (一个完整的列表和配置说明,请参阅 dvc remote add。)
数据科学团队常常面临着数据和机器学习模型进行版本化的数据管理问题。我们应该如何一起跟踪数据、源代码和ML模型中的变化?组织和存储这些文件和目录变更的最佳方式是什么?
在上一篇文章快速入门DVC(六):指标跟踪、更新训练参数以及可视化模型表现中,我们讲述了如何进行指标跟踪、更新训练参数以及可视化模型表现。 本文,我们将通过 example-dvc-experiments 项目来探索 DVC 实验管理的基本功能。
在上一篇文章快速入门DVC(五):数据流水线中,讲述了如何完成一个机器学习模型训练流水线,以及如何重现机器学习模型。本文接下来将讲述 DVC 如何进行模型指标跟踪、修改训练参数重新训练以及使用图表可视化模型表现。
今天我们来讲述下如何过滤、转换或使用数据来训练 ML 模型? DVC 引入了一种获取 数据流水线(生成最终结果的一系列数据过程) 的机制。 DVC 流水线及其数据也可以很容易地使用 Git 进行版本控制。 这使您可以更好地组织项目,并在以后完全按照最初构建的方式重现您的工作流程和结果。例如,您可以获取一个简单的 ETL 工作流、组织一个数据科学项目或构建一个详细的机器学习流水线。
你可能会有如下的问题: 我们如何在项目之外使用这些制品? 我们如何下载模型来部署它? 我们如何下载特定版本的模型? 我们如何在不同的项目中重用数据集?
数据和模型版本控制是 DVC 的基础层用于管理大型文件、数据集和机器学习模型。使用常规的 Git 工作流程,但不要在 Git 库中存储大文件。 大数据文件单独存储,来实现高效共享。想象一下,让 Git 以与处理小代码文件相同的性能来处理任意大的文件和目录,该有多酷?例
安装 使用pip安装 我们强烈建议您创建一个虚拟环境,或者使用pipx(在 Python 3.7+ 上)来封装您的本地环境。
之前,在我的另一篇博客:简述智能对话系统 里面概述了对话系统的分类、应用场景及产生的社会价值。今天,来简单讲述一下对话系统的主要模块与核心技术。