From 44ba0c23b0433029d871381e117fd32eb9281346 Mon Sep 17 00:00:00 2001 From: YJG Date: Thu, 20 Jun 2024 16:15:02 +0800 Subject: [PATCH] Update 7.2 (#253) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update 7.2 Fix * Update 7.2.md * Update 7.2-训练作业,镜像与容器.md --- ...25\234\345\203\217\344\270\216\345\256\271\345\231\250.md" | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git "a/Textbook/\347\254\2547\347\253\240-\345\274\202\346\236\204\350\256\241\347\256\227\351\233\206\347\276\244\350\260\203\345\272\246\344\270\216\350\265\204\346\272\220\347\256\241\347\220\206\347\263\273\347\273\237/7.2-\350\256\255\347\273\203\344\275\234\344\270\232\357\274\214\351\225\234\345\203\217\344\270\216\345\256\271\345\231\250.md" "b/Textbook/\347\254\2547\347\253\240-\345\274\202\346\236\204\350\256\241\347\256\227\351\233\206\347\276\244\350\260\203\345\272\246\344\270\216\350\265\204\346\272\220\347\256\241\347\220\206\347\263\273\347\273\237/7.2-\350\256\255\347\273\203\344\275\234\344\270\232\357\274\214\351\225\234\345\203\217\344\270\216\345\256\271\345\231\250.md" index ccaa9c51..f032c094 100644 --- "a/Textbook/\347\254\2547\347\253\240-\345\274\202\346\236\204\350\256\241\347\256\227\351\233\206\347\276\244\350\260\203\345\272\246\344\270\216\350\265\204\346\272\220\347\256\241\347\220\206\347\263\273\347\273\237/7.2-\350\256\255\347\273\203\344\275\234\344\270\232\357\274\214\351\225\234\345\203\217\344\270\216\345\256\271\345\231\250.md" +++ "b/Textbook/\347\254\2547\347\253\240-\345\274\202\346\236\204\350\256\241\347\256\227\351\233\206\347\276\244\350\260\203\345\272\246\344\270\216\350\265\204\346\272\220\347\256\241\347\220\206\347\263\273\347\273\237/7.2-\350\256\255\347\273\203\344\275\234\344\270\232\357\274\214\351\225\234\345\203\217\344\270\216\345\256\271\345\231\250.md" @@ -363,13 +363,13 @@ in the Black-Box GPU Stack](https://www.usenix.org/system/files/conference/atc13 - [Visual Studio Code](https://code.visualstudio.com/):Visual Studio Code,通常也称为 VS Code,是 Microsoft 为 Windows、Linux 和 macOS 开发的跨平台源代码编辑器。在人工智能场景下,算法工程师主要使用 VS Code 进行 Python 程序开发,调试(Debugging)、语法高亮(Syntax Highlighting)、智能代码完成 (Intelligent Code Completion)、预装代码片段(Code Snippet)、代码重构(Code Refactoring)和版本管理 Git 的支持。用户可以更改主题、键盘快捷键、首选项,并安装添加额外功能的扩展。使用 VS Code 等类似的客户端 IDE 进行开发的特点是,功能强大,调试,补全等功能完善。接下来介绍几个常用的针对人工智能开发的插件: - VS Code实用人工智能插件简介: - 一站式人工智能开发插件:[Tools for AI](https://github.com/microsoft/vscode-tools-for-ai) 当前已改名 Visual Studio Code Azure 机器学习扩展。可以使用 Visual Studio Code 界面中的 Azure 机器学习服务轻松构建、训练和部署机器学习模型到云或边缘。此扩展的早期版本以 Visual Studio Code Tools for AI 的名称发布。此工具提供,部署到云端或边缘的支持,常用深度学习库的支持,本地实验再部署到大规模集群,集成自动化机器学习,通过 CI/CD 工具跟踪实验,管理模型。 - - 代码完成(Code Completion):[Kite for VS Code](https://www.kite.com/integrations/vs-code/) 适用于 VS Code 的各种语言,通过海量代码库,训练人工智能模型,提供智能代码完成服务。智能感知(Intellisense)、代码片段(Code Snippets)、光标跟随(Cursor-Following)文档的 AI 代码完成。 Kite 支持 Python 等文件类型,如图 7.2.7 对比有代码补全将大幅提升开发生产力,这也是集成开发环境的优势。同时我们也看到这类工作属于 AI for System 的一种,OpenAI 也开源 [Copilot](https://copilot.github.com/) 进行常见语言,通用程序的智能化的代码提示和程序合成(Program Synthesis)。 + - 代码完成(Code Completion):[Kite for VS Code](https://www.kite.com/integrations/vs-code/) 适用于 VS Code 的各种语言,通过海量代码库,训练人工智能模型,提供智能代码完成服务。智能感知(Intellisense)、代码片段(Code Snippets)、光标跟随(Cursor-Following)文档的 AI 代码完成。 Kite 支持 Python 等文件类型,如图 7.2.7 对比有代码补全将大幅提升开发生产力,这也是集成开发环境的优势。同时我们也看到这类工作属于 AI for System 的一种,微软也推出[GitHub Copilot](https://copilot.github.com/) 进行常见语言,通用程序的智能化的代码提示和程序合成(Program Synthesis)。当前大模型的代码完成能力相比之前有了大幅提升,用户也可以在ChatGPT等大模型服务中利用其代码完成能力进行程序合成,也可以进行代码分析,缺陷分析等,进一步提升开发生产力。
图 7.2.7 Python 代码补全实例 (图片来源)
- 在线网页(Web)服务开发环境 - 集群提供的 Web 管理界面:一般平台会提供一个 Web 页面方便用户提交作业的规格(Specification),填写好作业镜像,启动命令,资源等,如前面小节所示。网页服务开发环境适合提交与管理,监控作业。图 7.2.8 所示,用户可以通过 OpenPAI 的提交界面,填写,作业名,需要提交的虚拟集群(Virtual Cluster),打包和上传好的镜像名,资源需求和启动命令,即可完成提交。 - - [Jupyter Notebook](https://jupyter.org/):有些平台会提供 Jupyter 服务并进行运维,但是 Jupter 特点是一般用户提交作业独占资源后使用或者是交互式作业,如果单纯是用 Jupter 做为作业提交入口,不容易做权限管理与作业运维。对用户来说是不需要安装本地环境,较为轻量。 + - [Jupyter Notebook](https://jupyter.org/):有些平台会提供 Jupyter 服务并进行运维,但是 Jupyter 特点是一般用户提交作业独占资源后使用或者是交互式作业,如果单纯是用 Jupyter 做为作业提交入口,不容易做权限管理与作业运维。对用户来说是不需要安装本地环境,较为轻量。 - 命令行工具:平台一般也可以提供命令行工具。命令行的方式也是用户比较习惯使用的方式,其特点是轻量,容易批量自动化的提交作业,且方便未来复用模板。命令行只适合提交与管理作业。 - REST API:平台一般也可以提供 REST API。REST API 作为作业提交或监控作业的接口好处是,可编程,且不需要提前安装额外库,比命令行本身还要轻量,缺点是需要用户做一定的调用与结果解析编程。REST API 只适合提交与管理作业,适合通过 REST API 编排作业流水线。