魔乐社区与 openMind 携手:模型托管与创新应用

B站影视 2025-01-08 10:39 2

摘要:人工智能和大数据飞速发展,选择一个安全、高效且可扩展的模型模型托管和推理平台至关重要。将模型部署在 openMind 上,能够充分利用其强大的算力、灵活的资源调度以及完善的数据管理功能。不论是初创项目还是成熟企业,使用 openMind 都可以在短时间内快速搭

人工智能和大数据飞速发展,选择一个安全、高效且可扩展的模型模型托管和推理平台至关重要。将模型部署在 openMind 上,能够充分利用其强大的算力、灵活的资源调度以及完善的数据管理功能。不论是初创项目还是成熟企业,使用 openMind 都可以在短时间内快速搭建、训练并部署模型,大幅提高研发效率。此外,openMind 还拥有良好的社区生态与技术支持,能够及时为开发者解决问题,并在不断的发展中引入更多创新性的功能与工具。

魔乐社区和openMind合作,为开发者提供了一个开放的平台,鼓励更多的人参与到创新与技术的分享中。通过这个平台,开发者不仅能够体验到openMind强大的能力,还能在应用实践中实现自己的技术创意。这种开放的合作模式,不仅为开发者提供了展示自己技术成果的机会,也为openMind带来了宝贵的反馈与实践经验,推动了技术的持续进步和完善。

操作流程上也相对简单、能够快速上手:

1、进入魔乐社区官网创建用户

2、通过以下流程进行模型下载和上传

注册用户并创建Token


登录魔乐社区后,在个人中心创建一个具有Write权限的Token,需要复制下来,用于后续的模型上传操作。

创建模型仓库


填写仓库信息并创建后,系统会自动生成一个包含模型信息的README.md文件,README文档主要用于模型项目的概述、安装说明、使用方法、代码示例、贡献指南等信息,帮助用户和开发者更好地理解和使用项目。

上传模型

魔乐社区可以通过以下三种方式之一上传模型到魔乐社区

创建环境

注意python解释器的版本只能是3.8 3.9 3.10 否则无法下载对应的库。

安装库只需要在终端输入三行指令:

pip install openMind

pip install openMind_hub

pip install torch

其中:openMind和openMind_hub这是魔乐社区提供的一个核心库,主要用于与魔乐社区的模型管理和服务进行交互。它包括模型的加载和训练功能,帮助开发者在魔乐平台上方便地管理自己的机器学习模型。安装命令:pip install openMind,pip install openMind_hub

其中 torch是pytorch 框架的核心库。PyTorch 是一个流行的深度学习框架,广泛用于模型训练、推理等任务。魔乐社区允许使用 PyTorch 进行深度学习模型的训练和部署,因此需要安装 torch 库来支持相关操作。安装命令:pip install torch

openMind Hub Client提供了upload_folder函数向仓库上传文件夹。常用参数:folder_path(要上传的本地文件夹的路径,必选)和repo_id(仓库地址,必选)

from openMind_hub import upload_folderimport os# 使用upload_folder向仓库中上传文件夹。# token:对目标仓库具有可写权限的访问令牌,必选。# folder_path:要上传的本地文件夹的路径,必选。# repo_id:目标仓库,必选。# 若需对上传的文件类型进行过滤,可以使用allow_patterns和ignore_patterns参数,详见upload_folder。upload_folder(token="token",folder_path=r"~/new/hustvl/visualbert-vcr-coco-pre",repo_id="jackma/visualbert-vcr-coco-pre")

以上代码示例将本地文件夹中所有文件上传到仓库jackma/visualbert-vcr-coco-pre中,其中划红线的为用户名。默认情况下,文件夹内的所有文件都将上传到仓库的根目录。

3 模型可用性测试

添加样例文件

在电脑中找到下载好的文件,在文件夹里新建一个examples样例文件夹

文件夹中新建两个文件,一个为inference.py 一个为requirements.txt

Inference.py 文件中为一段代码,如下:

from transformers import AutoTokenizer, AutoModelimport torchimport torch.nn.functional as Fimport osdef mean_pooling(model_output, attention_mask):token_embeddings = model_output.last_hidden_stateinput_mask_expanded = attention_mask.unsqueeze(-1).expand(token_embeddings.size).floatreturn torch.sum(token_embeddings * input_mask_expanded, 1) / torch.clamp(input_mask_expanded.sum(1), min=1e-9)def main:# 句子列表sentences = ['This is an example sentence', 'Each sentence is converted']# 加载模型和分词器model_path = "jackma/visualbert-vcr-coco-pre"# 确保模型文件存在if not os.path.exists(os.path.join(model_path, 'config.json')):print(f"Error: {model_path}/config.json not found!")returntokenizer = AutoTokenizer.from_pretrained(model_path)model = AutoModel.from_pretrained(model_path)# 分词encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt')# 计算嵌入with torch.no_grad:model_output = model(**encoded_input)# 池化和归一化sentence_embeddings = mean_pooling(model_output, encoded_input['attention_mask'])sentence_embeddings = F.normalize(sentence_embeddings, p=2, dim=1)print("Sentence embeddings:")print(sentence_embeddings)if __name__ == "__main__":main

测试选择pytorch版本,可以和inference.py的文件对应起来

选择与inference.py对应的 pytorch 版本进行测试,若模型测试通过,则上传成功。模型已通过 CI 测试,具备实践价值,为实际业务应用奠定基础。

在 openMind 平台上,图示模型visualbert应用于图像生成任务,根据用户输入的文本描述生成对应的图像,为创意设计、游戏开发等提供新的技术手段,包括下面几种形式,有兴趣可以去魔乐社区尝试。

视觉问答(VQA):能够理解图像内容以及与图像相关的问题,并给出正确的答案。模型需要结合从图像中提取的特征向量和对问题的理解,来准确回答关于图像的各种问题,例如 “图中的汽车是什么颜色的?”。图像描述生成:可以根据输入的图像生成自然语言描述,帮助为图像添加标题或注释,使计算机能够自动理解和表达图像的内容,如为一幅风景图片生成 “这是一幅美丽的海滩日落图,金色的阳光洒在波光粼粼的海面上” 这样的描述。图像 - 文本交互式生成:可以与图像生成模型结合,根据生成的文本描述再生成对应的图像,实现图像与文本之间的反复转换和融合。零样本图像分类:在没有见过任何样本的情况下,通过理解图像的特征向量和预先定义好的类别名称,将图像与类别进行关联,从而对图像进行分类。

openMind 凭借技术优势,在模型训练、微调、评估及推理等方面推动 AI 领域创新应用。未来,openMind 将持续为开发者提供丰富工具与服务,助力更多创新应用落地。期望本文能为开发者提供技术见解,助其更好利用 openMind 平台,也期待更多开发者在魔乐社区与 openMind 支持下,能够去感受大模型带来的技术发展,为开发者技术研究提供好的学习体验空间。

来源:DataFunTalk

相关推荐