在当今快速发展的人工智能领域,如何高效管理机器学习项目、模型和数据集成为了一个巨大的挑战。Starwhale应运而生,作为一个创新的MLOps/LLMOps平台,它为机器学习操作带来了效率和标准化,彻底改变了模型开发的生命周期。
Starwhale的设计理念是简化和优化机器学习工作流程的各个关键环节,包括模型构建、评估、发布和微调。它提供了三种灵活的部署配置来满足不同的需求:
🐥 Standalone: 适用于本地开发环境,通过swcli
命令行工具管理,满足开发和调试需求。
🦅 Server: 部署在私有数据中心,依赖Kubernetes集群,提供集中化、基于Web的安全服务。
🦉 Cloud: 托管在公共云上,访问地址为https://cloud.starwhale.cn,由Starwhale团队负责维护,用户注册后即可使用。
Starwhale的核心在于将Model、Runtime和Dataset抽象为一等公民,为流线型操作提供了基础。此外,Starwhale还为常见的工作流场景提供了量身定制的功能:
Starwhale Dataset提供了高效的数据存储、加载和可视化功能,是专为机器学习和深度学习领域量身定制的数据管理工具。它支持多种数据格式,并可轻松与常用的机器学习框架集成。
使用Starwhale Dataset可以轻松创建、管理和共享数据集:
import torch from starwhale import dataset, Image # 为Starwhale云实例构建数据集 with dataset("https://cloud.starwhale.cn/project/starwhale:public/dataset/test-image", create="empty") as ds: for i in range(100): ds.append({"image": Image(f"{i}.png"), "label": i}) ds.commit() # 加载数据集 ds = dataset("https://cloud.starwhale.cn/project/starwhale:public/dataset/test-image") print(len(ds)) print(ds[0].features.image.to_pil()) print(ds[0].features.label) torch_ds = ds.to_pytorch() torch_loader = torch.utils.data.DataLoader(torch_ds, batch_size=5) print(next(iter(torch_loader)))
Starwhale Model是一种标准的机器学习模型打包格式,可用于模型微调、评估和在线服务等多种用途。一个Starwhale Model包含模型文件、推理代码、配置文件以及运行模型所需的任何其他文件。
使用Starwhale Model可以轻松构建、复制和运行模型:
# 模型构建 swcli model build . --module mnist.evaluate --runtime pytorch/version/v1 --name mnist # 从standalone复制模型到云端 swcli model cp mnist https://cloud.starwhale.cn/project/starwhale:public # 模型运行 swcli model run --uri mnist --runtime pytorch --dataset mnist swcli model run --workdir . --module mnist.evaluator --handler mnist.evaluator:MNISTInference.cmp
Starwhale Runtime旨在为Python程序提供可复现和可共享的运行环境。用户可以轻松地与团队成员或外部人员共享工作环境,反之亦然。此外,用户可以在Starwhale Server或Starwhale Cloud上运行程序,而无需担心依赖问题。
Starwhale Runtime支持多种构建方式,并可与模型和 数据集无缝集成:
# 从runtime.yaml、conda环境、Docker镜像或shell构建 swcli runtime build --yaml runtime.yaml swcli runtime build --conda pytorch --name pytorch-runtime --cuda 11.4 swcli runtime build --docker pytorch/pytorch:1.9.0-cuda11.1-cudnn8-runtime swcli runtime build --shell --name pytorch-runtime # Runtime激活 swcli runtime activate pytorch # 与模型和数据集集成 swcli model run --uri test --runtime pytorch swcli model build . --runtime pytorch swcli dataset build --runtime pytorch
Starwhale Evaluation使用户能够通过Starwhale Python SDK编写几行代码就可以评估复杂的、面向生产的分布式模型。
import typing as t import gradio from starwhale import evaluation from starwhale.api.service import api def model_generate(image): ... return predict_value, probability_matrix @evaluation.predict( resources={"nvidia.com/gpu": 1}, replicas=4, ) def predict_image(data: dict, external: dict) -> None: return model_generate(data["image"]) @evaluation.evaluate(use_predict_auto_log=True, needs=[predict_image]) def evaluate_results(predict_result_iter: t.Iterator): for _data in predict_result_iter: ... evaluation.log_summary({"accuracy": 0.95, "benchmark": "test"}) @api(gradio.File(), gradio.Label()) def predict_view(file: t.Any) -> t.Any: with open(file.name, "rb") as f: data = Image(f.read(), shape=(28, 28, 1)) _, prob = predict_image({"image": data}) return {i: p for i, p in enumerate(prob)}
Starwhale Fine-tuning为大型语言模型(LLM)调优提供了完整的工作流程,包括批量模型评估、实时演示和模型发布功能。Starwhale Fine-tuning Python SDK非常简单易用。
import typing as t from starwhale import finetune, Dataset from transformers import Trainer @finetune( resources={"nvidia.com/gpu":4, "memory": "32G"}, require_train_datasets=True, require_validation_datasets=True, model_modules=["evaluation", "finetune"], ) def lora_finetune(train_datasets: t.List[Dataset], val_datasets: t.List[Dataset]) -> None: # 初始化模型和tokenizer trainer = Trainer( model=model, tokenizer=tokenizer, train_dataset=train_datasets[0].to_pytorch(), # 将Starwhale Dataset转换为Pytorch Dataset eval_dataset=val_datasets[0].to_pytorch()) trainer.train() trainer.save_state() trainer.save_model() # 保存权重,然后Starwhale SDK会将它们打包成Starwhale Model
Starwhale在各种机器学习任务中都有广泛的应用,以下是一些典型案例:
🚀 LLM应用:
🌋 模型微调:
🦦 图像分类:
🐃 图像分割:
🐦 目标检测:
此外,Starwhale还支持视频识别、机器翻译、文本分类和语音识别等多种任务,为研究人员和开发者提供了全面的MLOps解决方案。
Starwhale提供了简单的安装方式和快速入门指南,使 用户能够迅速上手:
Starwhale Standalone安装:
python3 -m pip install starwhale
Starwhale Server:
Starwhale Server以Docker镜像形式提供,可以直接用Docker运行或部署到Kubernetes集群。对于笔记本环境,使用swcli server start
命令是一个合适的选择,该命令依赖Docker和Docker-Compose。
快速入门: Starwhale使用MNIST数据集作为Hello World示例来展示基本的Starwhale Model工作流程。用户可以选择在自己的Python环境中按照Standalone快速入门文档操作,或者使用Google Colab环境按照Jupyter notebook示例进行操作。
Starwhale拥有活跃的开源社区和全面的支持体系:
Starwhale的开源性质和Apache-2.0许可证使其成为一个灵活、可定制的MLOps平台。它的框架设计注重清晰度和易用性,使开发者能够根据自身需求构建定制化的MLOps功能。
Starwhale作为一个创新的MLOps/LLMOps平台,正在改变机器学习和深度学习的开发和部署方式。通过提供全面的工具链和灵活的部署选项,Starwhale帮助团队更高效地管理机器学习项目的整个生命周期。无论是对于研究人员、开发者还是企业用户,Starwhale都提供了强大的功能和便捷的使用体验,推动着AI技术的快速发展和广泛应用。随着AI领域的不断进步,Starwhale将继续发挥其关键作用,为机器学习操作带来更多创新和效率。
一键生成PPT和Word,让学习生活更轻松
讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。
深度推理能力全新升级,全面对标OpenAI o1
科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。
一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型
Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调 整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。
字节跳动发布的AI编程神器IDE
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
AI助力,做PPT更简单!
咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。
选题、配图、成文,一站式创作,让内容运营更高效
讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。
专业的AI公文写作平台,公文写作神器
AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。
OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。
openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。
高分辨率纹理 3D 资产生成
Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。
一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。
3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备 高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。
最新AI工具、AI资讯
独家AI资源、AI项目落地
微信扫一扫关注公众号