From b54fd9684d7e57e7fa01fe05c72e5f3ce968ae52 Mon Sep 17 00:00:00 2001 From: Umeko Date: Wed, 29 Nov 2023 13:45:31 +0000 Subject: [PATCH 1/5] Changes to be committed: new file: proposal.md --- proposal.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 proposal.md diff --git a/proposal.md b/proposal.md new file mode 100644 index 0000000..30404ce --- /dev/null +++ b/proposal.md @@ -0,0 +1 @@ +TODO \ No newline at end of file From e4dfb9c6d5039763e4f5a95978b06826bc7219db Mon Sep 17 00:00:00 2001 From: Umeko Date: Thu, 30 Nov 2023 11:15:03 +0800 Subject: [PATCH 2/5] init commit --- proposal.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 proposal.md diff --git a/proposal.md b/proposal.md new file mode 100644 index 0000000..30404ce --- /dev/null +++ b/proposal.md @@ -0,0 +1 @@ +TODO \ No newline at end of file From 1a8e73e1b2aeeaab2f5a014ac6db66eb5d40144d Mon Sep 17 00:00:00 2001 From: ziyang2023 Date: Thu, 30 Nov 2023 08:33:43 +0000 Subject: [PATCH 3/5] test1 --- proposal.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proposal.md b/proposal.md index 30404ce..439d423 100644 --- a/proposal.md +++ b/proposal.md @@ -1 +1 @@ -TODO \ No newline at end of file +TODO SOME TEST \ No newline at end of file From 6939531e77b31472af7c8baec9c1ef2dd84099eb Mon Sep 17 00:00:00 2001 From: ziyang2023 Date: Fri, 1 Dec 2023 09:21:34 +0000 Subject: [PATCH 4/5] add proposal file --- ArchitectureDesign.png | Bin 0 -> 29462 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 ArchitectureDesign.png diff --git a/ArchitectureDesign.png b/ArchitectureDesign.png new file mode 100644 index 0000000000000000000000000000000000000000..57ed54f5afb6c8ea49381ee4db9cbabd1c0241d0 GIT binary patch literal 29462 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 B6*K?< literal 0 HcmV?d00001 From 969e28d22bfdf3061659cf70cacfedb4e6d895f4 Mon Sep 17 00:00:00 2001 From: ziyang2023 Date: Fri, 1 Dec 2023 10:29:11 +0000 Subject: [PATCH 5/5] fixed changes in proposal file --- proposal.md | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/proposal.md b/proposal.md index 439d423..45104c3 100644 --- a/proposal.md +++ b/proposal.md @@ -1 +1,38 @@ -TODO SOME TEST \ No newline at end of file +# 昇思大模型平台相关工具组件开发 +[任务来源](https://gitee.com/mindspore/community/issues/I87G7E) + +实现一套可以线下使用的API,使得从昇思大模型平台中下载SOTA模型,并实现预训练、训练、评估、推理等功能成为可能。 +## 组件及功能划分 +- SOTA模型下载组件: + - 提供API接口,接收模型名称和版本等参数。 + - 连接到昇思大模型平台,下载指定模型到本地。 +- 本地推理环境构建组件: + - 利用venv或docker构建独立运行环境。 + - 配置运行环境,安装依赖包。 +- 预训练、训练、评估、推理组件: + - 针对下载的模型,提供API接口实现预训练、训练、评估、推理等功能。 + - 利用TinyMS框架,封装高效且易用的接口。 +- Demo设计组件: + - 根据下载的平台大模型代码,运行Demo应用。 + - 涵盖各个功能点,用于验证组件的正确性和完整性。 +## 架构图示 +![img](./ArchitectureDesign.png) +## 计划与排期 +- 第一周:需求调研与架构设计 + - 详细了解昇思大模型平台的API结构和功能。 + - 设计架构,并提交 proposal PR 进行讨论。 +- 第二至四周:SOTA模型下载组件实现 + - 开发SOTA模型下载的API接口。 + - 测试下载功能。 +- 第五至六周:预训练、训练、评估、推理组件实现 + - 实现与下载的模型相关的预训练、训练、评估和推理的API接口。 +- 第七至八周:Demo设计组件实现 + - 设计并实现演示Demo,确保覆盖所有功能点。 +- 第九至十周:测试用例编写与调试 + - 编写全面的测试用例,确保各组件的正确性。 + - 进行整体调试和优化。 +- 第十一周:文档编写 + - 撰写详细的文档,包括API使用说明、Demo示例等。 +- 第十二周:最终测试与PR提交 + - 进行最终的整体测试。 + - 提交功能性PR,并进行最终的讨论和调整。 \ No newline at end of file