From 1e662a64ec5663fdf66b1c0481db4ef9e9025f84 Mon Sep 17 00:00:00 2001 From: fuchao Date: Sat, 25 Oct 2025 13:22:59 +0800 Subject: [PATCH] =?UTF-8?q?MindStudio=E6=96=87=E6=A1=A3r2.7.1=E5=88=B7?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/mindstudio/docs/Makefile | 20 +++ docs/mindstudio/docs/requirements.txt | 8 + docs/mindstudio/docs/source_zh_cn/conf.py | 163 ++++++++++++++++++ .../docs/source_zh_cn/feature/performance.md | 85 +++++++++ .../docs/source_zh_cn/feature/precision.md | 70 ++++++++ .../docs/source_zh_cn/guide/get_start.md | 51 ++++++ .../docs/source_zh_cn/guide/large_model.md | 23 +++ .../docs/source_zh_cn/images/MindStudio.png | Bin 0 -> 98767 bytes .../source_zh_cn/images/MindStudio8.2.RC1.png | Bin 0 -> 64873 bytes docs/mindstudio/docs/source_zh_cn/index.rst | 46 +++++ docs/mindstudio/docs/source_zh_cn/overview.md | 44 +++++ .../version/mindstudio_insight.md | 19 ++ 12 files changed, 529 insertions(+) create mode 100644 docs/mindstudio/docs/Makefile create mode 100644 docs/mindstudio/docs/requirements.txt create mode 100644 docs/mindstudio/docs/source_zh_cn/conf.py create mode 100644 docs/mindstudio/docs/source_zh_cn/feature/performance.md create mode 100644 docs/mindstudio/docs/source_zh_cn/feature/precision.md create mode 100644 docs/mindstudio/docs/source_zh_cn/guide/get_start.md create mode 100644 docs/mindstudio/docs/source_zh_cn/guide/large_model.md create mode 100644 docs/mindstudio/docs/source_zh_cn/images/MindStudio.png create mode 100644 docs/mindstudio/docs/source_zh_cn/images/MindStudio8.2.RC1.png create mode 100644 docs/mindstudio/docs/source_zh_cn/index.rst create mode 100644 docs/mindstudio/docs/source_zh_cn/overview.md create mode 100644 docs/mindstudio/docs/source_zh_cn/version/mindstudio_insight.md diff --git a/docs/mindstudio/docs/Makefile b/docs/mindstudio/docs/Makefile new file mode 100644 index 0000000000..1eff895270 --- /dev/null +++ b/docs/mindstudio/docs/Makefile @@ -0,0 +1,20 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line, and also +# from the environment for the first two. +SPHINXOPTS ?= +SPHINXBUILD ?= sphinx-build +SOURCEDIR = source_zh_cn +BUILDDIR = build_zh_cn + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/docs/mindstudio/docs/requirements.txt b/docs/mindstudio/docs/requirements.txt new file mode 100644 index 0000000000..46904323e5 --- /dev/null +++ b/docs/mindstudio/docs/requirements.txt @@ -0,0 +1,8 @@ +sphinx == 4.4.0 +docutils == 0.17.1 +myst-parser == 0.18.1 +sphinx_rtd_theme == 1.0.0 +numpy +nbsphinx == 0.8.11 +IPython +jieba diff --git a/docs/mindstudio/docs/source_zh_cn/conf.py b/docs/mindstudio/docs/source_zh_cn/conf.py new file mode 100644 index 0000000000..1548ccf065 --- /dev/null +++ b/docs/mindstudio/docs/source_zh_cn/conf.py @@ -0,0 +1,163 @@ +# Configuration file for the Sphinx documentation builder. +# +# This file only contains a selection of the most common options. For a full +# list see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html + +# -- Path setup -------------------------------------------------------------- + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +# +import glob +import os +import re +import shutil +import sys + +# -- Project information ----------------------------------------------------- + +project = 'MindStudio' +copyright = 'MindSpore' +author = 'MindSpore' + +# The full version, including alpha/beta/rc tags +release = 'r2.7.1' + + +# -- General configuration --------------------------------------------------- + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +myst_enable_extensions = ["dollarmath", "amsmath"] + + +myst_heading_anchors = 5 +extensions = [ + 'sphinx.ext.autodoc', + 'sphinx.ext.autosummary', + 'sphinx.ext.doctest', + 'sphinx.ext.intersphinx', + 'sphinx.ext.todo', + 'sphinx.ext.coverage', + 'sphinx.ext.napoleon', + 'sphinx.ext.viewcode', + 'myst_parser', + 'nbsphinx', + 'sphinx.ext.mathjax', + 'IPython.sphinxext.ipython_console_highlighting' +] + +source_suffix = { + '.rst': 'restructuredtext', + '.md': 'markdown', +} + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This pattern also affects html_static_path and html_extra_path. +mathjax_path = 'https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/mathjax/MathJax-3.2.2/es5/tex-mml-chtml.js' + +mathjax_options = { + 'async':'async' +} + +nbsphinx_requirejs_path = 'https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js' + +nbsphinx_requirejs_options = { + "crossorigin": "anonymous", + "integrity": "sha256-1fEPhSsRKlFKGfK3eO710tEweHh1fwokU5wFGDHO+vg=" +} + +smartquotes_action = 'De' + +exclude_patterns = [] + +pygments_style = 'sphinx' + +autodoc_inherit_docstrings = False + +autosummary_generate = True + +autosummary_generate_overwrite = False + +html_search_language = 'zh' + +html_search_options = {'dict': '../../../resource/jieba.txt'} + +# -- Options for HTML output ------------------------------------------------- + +# Reconstruction of sphinx auto generated document translation. + +language = 'zh_CN' +locale_dirs = ['../../../../resource/locale/'] +gettext_compact = False + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +html_theme = 'sphinx_rtd_theme' + +import sphinx_rtd_theme +layout_target = os.path.join(os.path.dirname(sphinx_rtd_theme.__file__), 'layout.html') +layout_src = '../../../../resource/_static/layout.html' +if os.path.exists(layout_target): + os.remove(layout_target) +shutil.copy(layout_src, layout_target) + +# Example configuration for intersphinx: refer to the Python standard library. +intersphinx_mapping = { + 'python': ('https://docs.python.org/3', '../../../../resource/python_objects.inv'), +} + + +def setup(app): + app.add_config_value('rst_files', set(), False) + +# # add view +# import json + +# if os.path.exists('../../../../tools/generate_html/version.json'): +# with open('../../../../tools/generate_html/version.json', 'r+', encoding='utf-8') as f: +# version_inf = json.load(f) +# elif os.path.exists('../../../../tools/generate_html/daily_dev.json'): +# with open('../../../../tools/generate_html/daily_dev.json', 'r+', encoding='utf-8') as f: +# version_inf = json.load(f) +# elif os.path.exists('../../../../tools/generate_html/daily.json'): +# with open('../../../../tools/generate_html/daily.json', 'r+', encoding='utf-8') as f: +# version_inf = json.load(f) + +# if os.getenv("MSD_PATH").split('/')[-1]: +# copy_repo = os.getenv("MSD_PATH").split('/')[-1] +# else: +# copy_repo = os.getenv("MSD_PATH").split('/')[-2] + +# branch = [version_inf[i]['branch'] for i in range(len(version_inf)) if version_inf[i]['name'] == copy_repo.replace('-', '_')][0] +# docs_branch = [version_inf[i]['branch'] for i in range(len(version_inf)) if version_inf[i]['name'] == 'tutorials'][0] + +# re_view = f"\n.. image:: https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/{docs_branch}/" + \ +# f"resource/_static/logo_source.svg\n :target: https://gitee.com/mindspore/{copy_repo}/blob/{branch}/" + +sys.path.append(os.path.abspath('../../../../resource/sphinx_ext')) +import nbsphinx_mod + +sys.path.append(os.path.abspath('../../../../resource/search')) +import search_code + +# src_release = os.path.join(os.getenv("MFM_PATH"), 'RELEASE_CN.md') +# des_release = "./RELEASE.md" +# with open(src_release, "r", encoding="utf-8") as f: +# data = f.read() +# if len(re.findall("\n## (.*?)\n",data)) > 1: +# content = re.findall("(## [\s\S\n]*?)\n## ", data) +# else: +# content = re.findall("(## [\s\S\n]*)", data) +# #result = content[0].replace('# MindSpore', '#', 1) +# with open(des_release, "w", encoding="utf-8") as p: +# p.write("# Release Notes"+"\n\n") +# p.write(content[0]) \ No newline at end of file diff --git a/docs/mindstudio/docs/source_zh_cn/feature/performance.md b/docs/mindstudio/docs/source_zh_cn/feature/performance.md new file mode 100644 index 0000000000..f975624596 --- /dev/null +++ b/docs/mindstudio/docs/source_zh_cn/feature/performance.md @@ -0,0 +1,85 @@ +# 性能调优 + +[![查看源文件](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r2.7.1/resource/_static/logo_source.svg)](https://gitee.com/mindspore/docs/blob/r2.7.1/docs/mindstudio/docs/source_zh_cn/feature/performance.md) + +MindSpore框架和MindStudio Training Tools工具链提供了多个性能分析与优化工具。 +MindSpore Profiler可以为用户提供算子执行时间分析、内存使用分析、AI Core指标分析、Timeline展示等功能,帮助用户分析性能瓶颈、优化训练效率。 +MindStudio Training Tools工具链中的MindStudio Insight工具、msprof-analyze工具、msLeaks工具分别负责模型训练可视化、性能数据分析、内存分配释放情况追踪。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
工具功能简介适用场景/优势
MindSpore框架提供的Profiler性能数据采集通用性能数据采集、分析功能。模型性能未达到预期,需要对模型性能数据进行采集、分析和调优。
轻量化打点数据采集mstx轻量化打点模块,支持用户自定义打点以及框架内置打点。大集群场景轻量化获取模型关键指标性能数据,实现问题快速定界。
动态Profiler在不中断训练流程的前提下,修改配置文件并完成新配置下的性能数据采集任务。常稳训练中发现性能劣化、抖动等,期望在不中断训练情况下进行性能分析。
离线解析数据对已采集的数据进行离线解析。期望在模型运行过程中仅进行性能数据采集,以节省整体运行时间;或对历史已采集数据进行再次解析。
MindStudio Insight时间线界面将模型在host、device上的运行详细情况平铺在时间轴上,直观呈现host侧的API耗时情况以及device侧的task耗时,并将host与device进行关联呈现。帮助用户快速识别host瓶颈或device瓶颈,同时提供各种筛选分类、专家建议等功能,支撑用户进行深度调优。
算子界面呈现计算算子和通信算子耗时数据。帮助开发者快速分析由算子耗时导致的性能瓶颈。
概览界面提供通信域识别、划分和耗时拆解、分析功能。支持自动识别通信域和用户自行配置通信域。支持按照通信域对比stage耗时、计算耗时和通信耗时。分析同一通信域内的切分是否均匀,是否存在通信慢卡和慢链路问题,帮助开发者快速识别问题。
通信界面展示集群中全网链路性能以及所有节点的通信性能。通过集群通信与计算重叠时间的分析,可以找出集群训练中的慢主机或慢节点。
内存界面提供执行过程中内存信息的可视化呈现。查看整体内存趋势,以及通过框选峰值区域快速定位到内存消耗过大的算子。
msprof-anaylze集群分析工具训练场景的集群性能数据分析工具,主要对基于通信域的迭代内耗时、通信时间、通信矩阵进行分析。适用于定位集群内慢卡、慢节点、慢链路等问题。
性能比对工具对采集的性能数据进行比对分析。比较不同硬件/框架下的性能数据,快速识别性能差异点。
专家建议工具分析训练场景的性能数据并给出专家建议。将采集的性能数据进行分析,并输出性能调优建议。支持对计算、通信、空闲等维度对性能数据进行拆解,分析出计算瓶颈、调度瓶颈。
msleaks内存分析提供Step内和Step间的内存异常检测能力,包括Step内内存泄漏分析和Step间内存对比分析。适用于分析内存泄漏异常的场景。
diff --git a/docs/mindstudio/docs/source_zh_cn/feature/precision.md b/docs/mindstudio/docs/source_zh_cn/feature/precision.md new file mode 100644 index 0000000000..983e6a4ec0 --- /dev/null +++ b/docs/mindstudio/docs/source_zh_cn/feature/precision.md @@ -0,0 +1,70 @@ +# 精度调试 + +[![查看源文件](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r2.7.1/resource/_static/logo_source.svg)](https://gitee.com/mindspore/docs/blob/r2.7.1/docs/mindstudio/docs/source_zh_cn/feature/precision.md) + +msprobe 是 MindStudio Training Tools 工具链下精度调试部分的工具包。主要包括精度预检、溢出检测和精度比对等功能,目前适配 PyTorch 和 MindSpore 框架。msprobe提供多个子工具,侧重不同的训练场景,可以定位模型训练中的精度问题。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
工具功能简介适用场景/优势当前版本限制
msprobe离线精度预检为网络中每个API创建用例,检验其精度,并根据不同比对算法综合判定API在NPU上的精度是否达标,快速找出精度差异的API。1. 对模型中所有的API做精度初步排查
2. 精度排查不受模型累计误差影响
仅支持mindspore.mint API
训前配置检查用于对比两个环境下可能影响训练精度的配置差异,支持MindSpore和PyTorch两个框架,包括:环境变量、三方库版本、训练超参、权重、数据集、随机操作。通过比对两个训练环境下的配置差异,提前识别可能会影响精度差异的配置项。在使用 MindSpeed-LLM 进行数据采集时,需要注意动态数据采集中的 apply_patches 函数需要在 MindSpeed-LLM 框架 pretrain_gpt.py 的 megatron_adaptor 函数导入之后执行。
数据采集采集模型训练过程中的API或Cell层级的前反向输入输出数据,包括层次关系、统计值信息、真实数据和调用栈等。1. 将模型中训练的API或Cell的前反向输入输出数据保存下来分析
2. 模型出现溢出时,可用于查看哪些API或Cell出现了溢出
1. API级数据采集仅对支持列表中的API进行采集
2. 暂不支持采集inplace类API及其上一节点的反向数据
3. 暂不支持参数及参数梯度的采集
溢出检查检测模型计算过程中的输入输出,并在溢出时落盘数据,助力用户快速定位溢出位置。1. 当模型出现溢出时,可用于定位最先溢出的API或Cell或kernel
2. 相比数据采集,性能更优,磁盘压力更小
1. 除具有与数据采集功能相同的约束外,动态图场景下,不支持 Primitive 和 Jit 类 API 的检测
2. 动态图场景下,仅支持检测API或Cell级别溢出
3. 静态图场景下,仅支持检测kernel级别溢出
训练状态监控收集模型训练过程中的激活值、梯度和优化器状态,助力分析计算、通信、优化器各部分的异常情况。通过监控模块级统计量指标,快速定位异常模块位置,如loss出现Nan1. 仅支持模块级别统计量指标分析
2. 仅支持Megatron、DeepSeed框架
3. 会产生少量耗时和显存膨胀
可视化比对解析Dump的精度数据,还原模型图结构,比对各层级精度数据,助力理解模型结构、分析精度问题。1. 整网精度比对定位可疑算子,通过浏览器展示比对结果,支持快速搜索到可疑算子
2. 支持查看模型层级结果,比对模型层级结构差异
1. 由于使用整网Dump数据,定位的可疑算子受累计误差影响
2. 当模型规模较大时,比对所需时间较长
compare精度比对NPU精度数据与标杆数据的比对,支持MindSpore框架内和与PyTorch跨框架的比对,助力快速定位精度异常的API或Cell。1. MindSpore同框架静态图比对
2. MindSpore同框架动态图比对
3. MindSpore vs PyTorch跨框架动态图比对
部分PyTorch的API关联不到MindSpore,需要手动配置映射关系
Checkpoint比对训练过程中或结束后,比较两个不同的Checkpoint,评估模型相似度。在模型训练过程中或结束后,可能保存一些检查点文件 (Checkpoint,简称ckpt) 记录当前模型、优化器等训练状态, 工具支持比较两个不同的ckpt,评估模型相似度。当前支持Megatron-LM、MindSpeed (PyTorch/MindTorch) 的ckpt比较。支持TP、PP、EP、VPP模型并行;支持megatron.core、megatron.legacy、TransformerEngine的模型实现。
无标杆比对不依赖标杆数据,通过对算子输入增加微小扰动,计算扰动后输出与原始输出的相对误差,识别有精度风险的算子。1. 无标杆数据场景下的算子精度排查
2. 对个别算子进行升精度修复,验证其对模型loss的影响
1. 仅支持动态图场景
2. 由于需要拷贝输入进行二次执行,所以在遇到大张量输入时容易发生显存OOM问题, 特别是反向比对过程。建议配置该功能下list参数,减少需比对的API数量
3. 比对会延长训练时间,整网比对可能会造成严重的耗时膨胀,建议配置该功能下list参数,减少需比对的API数量
4. 不支持“to cpu”操作,不支持预热功能
diff --git a/docs/mindstudio/docs/source_zh_cn/guide/get_start.md b/docs/mindstudio/docs/source_zh_cn/guide/get_start.md new file mode 100644 index 0000000000..dd55b3f858 --- /dev/null +++ b/docs/mindstudio/docs/source_zh_cn/guide/get_start.md @@ -0,0 +1,51 @@ +# 全流程调试调优工具使用指南 + +[![查看源文件](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r2.7.1/resource/_static/logo_source.svg)](https://gitee.com/mindspore/docs/blob/r2.7.1/docs/mindstudio/docs/source_zh_cn/guide/get_start.md) + +为方便开发者快速上手使用调试调优工具,[《开发工具快速入门》](https://www.hiascend.com/document/detail/zh/mindstudio/81RC1/msquickstart/atlasquick_train_0004.html)介绍了精度调试、性能调优过程中工具常用功能的用法,包含使用msprobe工具进行训练前配置检查、训练状态监控、精度数据采集和比对、精度预检,使用Profiler进行性能数据采集,使用msprof-analyze和MindStudio Insight工具进行性能分析等。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
类型功能简介
模型精度调试训练前配置检查在训练前或精度比对前,对比两个不同环境下,可能影响训练精度的配置差异。
训练状态监控收集和聚合模型训练过程中的网络层、优化器、通信算子的中间值,帮助诊断模型训练过程中计算、通信、优化器各部分出现的异常情况。
精度数据采集采集模型训练过程中API或Module层级的前反向输入输出数据。支持采集的数据包括Module的层次关系、Module或API的输入输出的真实数据和统计值信息、Module或API的调用栈等等。
精度预检在执行训练前使用,会扫描在昇腾NPU环境下训练模型的API,输出精度情况的诊断和分析。综合判定API在NPU上的精度是否达标,从而找出NPU中存在精度问题的API。
compare精度比对比对功能依赖精度数据采集工具采集的数据,计算模型整网NPU侧和标杆设备(如CPU、GPU、NPU等)的误差指标(如余弦相似度、相对误差小于千分之一的比例、最大值误差等,标记可疑的精度异常API或Module,快速定位精度问题根因。
分级可视化构图比对通过 TensorBoard 直观展示图结构、节点数据、依赖关系等。
模型性能调优性能数据采集采集原始性能数据,用于精准定位模型训练或推理过程中的性能瓶颈(如算子耗时、内存占用、设备通信延迟等),帮助开发者优化模型执行效率。
msprof-analyze工具分析性能数据对采集到的性能数据进行统计分析,并给出相关的调优建议。
MindStudio Insight工具可视化性能数据可视化呈现真实软硬件运行数据,多维度分析性能瓶颈点。
diff --git a/docs/mindstudio/docs/source_zh_cn/guide/large_model.md b/docs/mindstudio/docs/source_zh_cn/guide/large_model.md new file mode 100644 index 0000000000..8f4259bf93 --- /dev/null +++ b/docs/mindstudio/docs/source_zh_cn/guide/large_model.md @@ -0,0 +1,23 @@ +# 大模型调试调优指南 + +[![查看源文件](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r2.7.1/resource/_static/logo_source.svg)](https://gitee.com/mindspore/docs/blob/r2.7.1/docs/mindstudio/docs/source_zh_cn/guide/large_model.md) + +## 基于MindSpore TransFormers大模型套件的调试调优指南 + +[MindSpore TransFormers](https://www.mindspore.cn/mindformers/docs/zh-CN/master/index.html)是MindSpore提供的包含大模型预训练、微调、推理、部署的全流程开发套件,也是MindSpore当前常用的大模型开发套件。 + +我们总结了大模型训练过程中常见精度问题、通用的精度问题定位方法、精度基准以及大模型场景工具常见用法,详见[大模型精度调试指南](https://www.mindspore.cn/mindformers/docs/zh-CN/master/advanced_development/precision_optimization.html#)。 + +为了方便用户进行性能调优,MindSpore TransFormers套件集成了以下功能: + +- 集成了Profiler数据采集的功能,并提供了超参可直接通过模型参数配置使用,详见[大模型性能调试指南](https://www.mindspore.cn/mindformers/docs/zh-CN/master/advanced_development/performance_optimization.html#)。 +- 集成了精度在线监控功能,详见[训练指标监控](https://www.mindspore.cn/mindformers/docs/zh-CN/master/feature/monitor.html)。 + +## 基于MindSpeed加速库的调试调优指南 + +[MindSpeed](https://gitcode.com/Ascend/MindSpeed-Core-MS/blob/r0.3.0/README.md)是MindSpore支持的昇腾训练加速库,提供了丰富的加速算法和模型。 + +针对MindSpeed加速库,以及[MindSpeed-LLM大模型套件](https://gitcode.com/Ascend/MindSpeed-LLM/blob/2.1.0/README.md),我们也提供了调试调优指南。 + +- [MindSpeed精度调试指南](https://gitcode.com/Ascend/MindSpeed-Core-MS/blob/r0.3.0/docs/precision_opt.md) +- [MindSpeed性能调优指南](https://gitcode.com/Ascend/MindSpeed-Core-MS/blob/r0.3.0/docs/performance_opt.md) diff --git a/docs/mindstudio/docs/source_zh_cn/images/MindStudio.png b/docs/mindstudio/docs/source_zh_cn/images/MindStudio.png new file mode 100644 index 0000000000000000000000000000000000000000..2bc5bf44fbd19c83a5bd49f591113b9833009fd7 GIT binary patch literal 98767 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 Fmh8J&30#B9(an(ZtFm8sV9xe6V!Je}N(0Zc z3ZM3keKO3UHxNgc9?o-}=S=Vj*dVWyeECt_Jq}x&kP60-K@QmLOym)LUry~r6f|Z& z^mEfzTawnB9kc((Mub6)u_nRbnSCctJ3Sp;)xy!FpTMt=%JI004NP9WY4NIpwBLnq zFy2v^-{p}_az%PhHm}~+_1GMq-(E=E78z9IR3Az}(eUOvC1vVzd)?*zv_rv{^ALU4 zHFx@Ib_o%8g06CGojWlo{CQsFy|5m}IUlsHJEMTDn&qi(7L92e4+q3#ntsHpTzZbh zbKp4NjfLyFVtOE(?HY&kn_^Zz==s3&^|t-&Fa4HX0#kOrm%H<}0kHPOx_kPc?-`PG zL3A!2Uzcs-e%oA<$^+_;)m=DdhusLt+x2G4EHe^uGk@(3sxtH6X>b`HPz!T>3pCn+ zJBF$`{knzyyWhc@K_tY26P%VS;R_vxyj_I|+;NF60-6hw!+s617mmeSiV0dZZ(2$i>6 zk69XWi_u%Rk(68;>>cv|7J2V-vioo4oBvL)Zz12{uUz~OSa87dJhCE|uah#d`TF{Z zoA-BXx=Io{QqeIhb`4cK*R>K{4LbeI>ofIl)9yRSwAD;?Rs9c1*IE=$yGMZf=^^Xy zE=LL*IoR6IOMqY?Un66P$$Dyuw7Gb)d1Ivec)+IudJ1alo8P@`v&v)t%}(Sgb=rRE zu%e}yd3OlALAU$tzcB)TCTI+pums7AH&1PT?*=gCTeb*6H}cdfam&Voj)0a+)(`T( ziQE3?2mOHvq<Je_u@`%S0X{9&itGN&*LB3pbduY)#ro3-jm_J@<&$4{ca)7am#JBKP;IPh*dneJ76B-tOkT7d}YC zb@;rOzVqR39DX}J259xLIv)Hdc0vx@Yp=p$I%5OsRnB{0oUEa**VG^PPF(!Jj~&4! z*($bj09*8P+B$)zqr|(<02TDNLe&4_Fz{LSn`BM`O-u%Upk5cdGYP62kYv`>?*QFT z_UbtL4)aQ#t3Exh&JGmwpzCIw$2uG{VMb|c!?OOjYF~0V`OmB!0{I}^d5Zyyrv4iB z)04f^0*TL3Wip+3-^UF2&t6*W?f+JATMO|z-ht4u#JtncIB|Hg6$m;q8pckKyH1b1 zc0C|;geRL}r#-?XWst`#rM=Sbxd-cBr_iQ;VVFPXK;4t)#P60L)oEv&xHu2UFW#tE z9t+tT=ovEj6@B&|KVSd%dsrqO@x>@i8j@M6)1fp=)}IPcjYv0Va;#?&llMda@JTqH zgT{i$c=glV*5L4LmATsYNi5B4a))W|9mfa8As5(T3L#Hv&2G;=uyucc>T=&(1bWi{ zlvwvj9Jr4O9Y0@k9$_Z4i$N)qrSa5I%^Wu+cSL5vm{{J}rqJWb*<7nQFr4@i!^nGL zHKqFl;jl=ks5(~eGY4(b_p?swefN@}1N*m!p?VQ=x?O4yCBLJ(q+Hj402hVuC&D-= z!Ms`y|FiZsPil0T1AQ_T;xj>e->0tHyINq0y&4`N0D}j@+py`#*VVxUmJt!^OEhfz z3F#Sd+TnbDcdZJzYsIV+*tK3f3mJ*6`a5RMl-8*Ww?k2y=x&^N1#VeTHuh&BdRgO- z)OHb?OEH`+QYf6QyXhu!p^Qm40_ux7 zJkqyukzO2$Pp-+>_C0fKJNoR2O_1~lV$q;oWf>#)doXxnZs{Xy;J*OB@;6Uhuv9ka zr1Y^YL@9H3#I>zaV&UPBx%u!2We>~81Vc=4@>zRMB);aefo4Z>=|Hy)jV=9q)A->E zC8*U|zlLwZgeWq}IJ5OqITmc3zw9LCQ1~perU24*S^41^gOk90{U)GTddxY2E@H_k z?;A?MUZe$^*=HH-hn+lW!MqjH3X#Lp>w<`ry`R~q`}S)?(GCV?+obf4$es0{dq|*A z`8GV_wkb3D8?rM2`Y$6C+-ZT(uQs>6W%+O82!&495Lc&~SapL%z(bWioGEf6Es+ar zIz-5Y6+irf0`v;HpeHsI>6FuSt~}qcJwh}}#|!VX2zX$lc-G?uRP$C~&3P->x`LmC z@KDQ%Mr*Fu5kdSWC|Rv8Gfs}6m>5=oJB$G1bTU1sA$mbme0T*V+43NbK~;xeyDZt< zMB@9JdFkb!99#AZicKcLunC-Ero25a{hFP<&`C!XqBD* zuRlbP&2?+pCc=ujOGddpXCE}5W)Yasu@sE$KW(-XW1|7|QiVFVQW+$A;5_)|bL0Vf zg+wU(T$;A>?h!kOH%38~HkAI;qSZmYHe^5T=WTe;ar8CTi>~gfTMnw+L@`-I6Qhog zqJD8jEBmq4Kj=G{+&AtM7Q0!bZduK+nkbBN5Uzr2(SX3y-BOf~2v9JTM-L$gyaT>H z-5;=EeC%b(jRpYVrQNoosnX=jH&cE9RDy_G(Y^2kpzDI?Nl?tF|FS^t1D0{Osh-QX zd=!RnZU`jx`e=yX41BPQbWyETVQGOJyesS=S2M^_>(0018#~(h4%4M~n$7*0I*V9{ z=8RY<{rRb{f4=C?UI2!JoH&$_L63wmfD31k?SLh<8B8>1J{NVPngU7RK$Yf0V|oE| z_-)PN_1t%v6YNk-kG3hmcIiCO4bX2B*au%b?L`a3=T?!HK6a?MM*iM#- zyk%CVPTI<;z1fN>I38MYuYT=MdfRaTcV&cX}e|qU^H2`-`52Z6tDJ=<3Zwr^`0+QN zb6#Md#gZzNSniF=BGdF7SmZ3?SSNzjbS|EK7V#NMcO$eG()OMqC(0pxHl?#l+yL!A z{`WsW4Y=WF&vpS3a9nJcK)JOBn(@?r1yyvhTU?nS!nnjEVyB)J3XH_XrDausCF#wV zc}Oi}XUNE^PeQ8i3Hq!_tGxtm5*}^|=6Xj-CCASTK2Xn%9nyO6)b8_7+ zFQI17G-aL@F3?_%7BxEw70AlB6$RuS1l?PMOccA7n>=e`Zd-wgiv_ReqW67h$Dxns zd~Ji|GyK*T#EEuOibmEK!(Dqhfc9_v+DYxEGtNT$fQjbT+o; zItL70@Z)#|CMGGOnqXX!3(aqeFw$VXG6gB4QjO}cN z)Z#oRTOi$L5%m9lo35{*Ddx`C>cM^WT&g$I<9fYW?lIPcAFRIzppJ=4K+CawG3Txy?dr= zmF`qNLxX1*H4LHVW}QX4D==P|(~xAUDxQ)e(=e|hYKBmz0!SF8uaou;Y?i#Us)49^ znscXQIvd)19nE;vBu7GH-hpm`@6dzkmKH`8JU%m95in#2m61|2oZke2dO*qf1L$7I zWo#1sndx-hWdT7VnE}sg`5Em2=$>hheYg3IiIg79VKri290t9MEcWBpiX$*QoEF2}N{8Bd1l<^~5&kPfjh+ncy6*k3^*}Wz z?d&S|2Jff29~@_`lJr>w6(cGW0O60Ns$Cw8 zEGO#*E${;-_s`P66>Er%(SuRrD>>x%vE+tvYpyBp$FF zW3$e38*Vim9rCZ6q@(g(Y6}1xNQp5(`1Q5MDB5!mjDFfVh zrscmg69q=%r=6#(=t(k7|3wIh#g^<=Q5}8_SzFtF^g?UK0<{St9V(m$#{RbkI5DG? z(1c3fKM^YBMRO*hB{dT^32j_1TSCB@p$EOBVX=W*U!F6aO$K8$`X|yPczD`MaZB-J zWjgppUQ`xp-I6q}tpN5gfjfWNvCy`Q|4&58|8o`>NYGm~MdrmQe3JDpqDpxArw$@?IW!%pIP4d49%OZxn`D6j^KMloBD}fZm;0?7+RmonQz07W<}!1@*rBbh zC;8f9Z5o_kq^@7r=RJZAfe~99OIurlPoRQ><(`E@yi^DJ56xW9nDj?*9KoeEDt;hBGqJw!T&Es#4{*J>2NM6aBHcUDvl7R9=W$;puZ z(+9Pw;x=WYuc39$Ss%;qk=8+!>*Ro_X3N58dVnvN5uu8ZB6iIgqtWrZNy>pUr!_fbI?={l*r5i|jvvc}pCYEV^YP9F=R}H9^3=Hm;e=2Wgow z|6HrfdBR|z3!(wDw4BK8;3U+AgoK^dnRjD+e_EscZhAg!@iv^id3k0;Ul~;~%vsMu z(++>{KMQ{RaX!Lq7UUA!%v*}245JaHFXa5nmPabuLn(&?$9ZRpV)WYbOp?iq<`F5- zpYN?Mm(|};w5rqPxjM*POxkxtI=zJ<^~boZZx=ODUU8_Ai{(VIT^t}*+za$1 zRL!&ttF)taY2}T+d!30#!GIEg*uMU$0NbKQHF|Jn+4BJU6F^zrk9?@c4|K0d$rdPl z1JwPvT;2sd>w%u){;Zd;>6O zzM`*{6dpl3NV~Ac_T+f#2IK7yvj~B?P^qiC6c?FnQ^8#fKgq63a97EDWQ7)bPst|V z>g+6At-E`7OEJs4fIej=@wUTC;U%ij%o}JOu0DuPP6BZ9N9y5HYC17z%@Rs*@|~2h z7)oicO^QdLLdup@67iB!ty_%SrQ^W;)0 zac{jJNiBV7skxF;Vvswy@@6+%SEpD%My`yv! zMDMEUMdfrp1ucFwsQQx!L}@N_w;u}62h~8UkM6#}utuQ}R!I?*^w16r27r>=gZqKZ z^I3z|BFPG6OPVgXK^!-%4wgT3L0yoH`n{Ipk|p(|mSug9?nU0)eAb0oC-@oVDUv#{kX_MG4sIIS7W!tJST%odfD5AZAoVF1XoOsj3G84a+Mfda8tvC|i!@ zeO+V@8h4yx1qNFoL*I=keQ)2cAcHk1AX z_Eldqi;M7}qsHA%En$Y#*QI_&Z%^+Qb{#Kl353CWz65TIy5Cg(rS|D&$-E`|ineyP zS-2FPX`Syf&PnuZg<$NfEZMRYc|`a0Avw+3U9MM_QFGoTQL+s4RtNx4PTgX?k_;=G z-&Ro~wAq&N{-d@5-+3au82Ri5C1 zv5m&!H%q&_S}0<5tAU210hAAdbWzSm-CI$jjzm}$soemnReLNAuQAb0wqh0H38Qc{ zZ5Sz@6n@Vry&Gx=lqCEsb`QwFoQRw(5i=!i9v)wur46R;t5<4NkoX=2v7)K4 zEk%pG*Pqh(90p%PxApq*m4fa z|1?ijH(i_d@J9{+nw~F!%ff7cz-9ug_Hdam`xB4ML-yqSZs*uFhnx`fJb;^3D0PaKp4GUa8s zZquX;L&2;zuf6%)C=tMETybQtmv5XQjTT50bf8H)%RCzMo@W_+^XQ1K-q%8x9Oi6Y zAF4n`7Xkk0Yttu!&O5+$>*B^Pq!zbSWU-a$m76Ot8c}&fsFfq1aVNntIyL4IwgHmW z&VRro()}(cu-P^p@^_QP&7p}&&f7wDX&)gz>tO0X`LPo2e*77}*AV$VGG6{BVcWK%gIwNMAQ(wS zp#GuUb~`5-3>3WSzWWwV&izg+U792jg>+CW`yxBMBM3(PG2^=Vc!6x>IRU%t(9Ph{ zLbsUMaKP#77EE{IO8p!7Ke zVC{M?x)a5d-1$SYKB)EbwY!h3dskL8X9dwX_Z)F`1VKH4b{0g)tSm3F7kj1E$2&j} zv3`ZI&WzIi0NHl9(k&Nu^s$FqNd0@bgExuy{XBvUQ|eG?B=R<6$45;hK8w78@2{Z1 zr#}z^M7g}nY3{5*vfOqjU9zn9b4xNlrUE;R?GtY|zIF4_2gA1sLd_*HL6;)^1TCL;GW2v%dEA~h$m7~$p(PZF12^|hS^@9c5?E9Ei0AzUY5!zf zg`t8XAWWtUgnuY1ji*1rdOo)u@VRe5ZQp8LM2jTR_b^S%olTXr31ga6TKDxl0>udi zrrS!V%NJQ7{>1>t;lqw*qb7tJwH>}~0KrFB()FjWU0q#a@J-MddIE&S^J;!kmxr*PwBvJZOs;N+s~r@>le#VATCr-z-=pVo3GZ-3glm}RP_Ht9MimX%?MB+QvBIVtJO zS0QDd%_d#pRE(}XmlA2eg~v&~JWb|lYNW{|I^J3GK5;2Jm2@AwZ?-8dWmW6!jip!1 zovn5qwc1*simua%yB|~AveIdqyu=DIMK!YCPWl4a|DtS#i%B99^0;5j?L$Wdhg~KS zq0S{q(CGlnak^6wSZ}-BP(f-ZJL`!kHWKszwQW-kkRLZQ={-;C^V(hECZHjuw39E6 zIo&O-?!~7B|E^{=J4k{HB{v6fYGp{v)w3K3@xiif^#oP)#I1GybI~jjPw+yrOL00N z9|^_@o@hn#sp#2j`92jtneT)QwOyxNLUniIiKHY8O(XC*J^QG!(f9!iwLGAL>RQsh z_I}`|gW&iezyLUEGbu-)M~9Ami$1njdi`<1GF#>82o^;8+kOtP9CMc(ioq?vfK!+7II$HvMZ ze9k>Ar&QoWfm<7A0-Pya-RrlJ&)nQDkGZhLy@p5pGQ%i+JoeQgbC}L%Z7Rr73GTS@ zRdI8WFwG2I%6JQf6`3Ng`J(a=uc6EzqY*_f?L)jNBk|>Z_MAT2b2D90<;ig;(=mG% z5Etp4_QEww)hUM~Ng;#t=jZ?#VH0FbQ*jzuBI#Ja(wfe%bj7B%IMP&Ra;Q`oWu979`UHC6X}Poq^(4UucV^UtP~9UrkMNd9ue6P61TFW!BS zin-ysCVK5BnB4vbim?K$l1ZMKn6wC z3EFDUJU;wlanUhO#W(1hVRMTtV+*g2JrO9Vyj!`f$@OJhap82ES!Mis>93r*xUU+^ zcjpV3tWnH>2nN+6{wqjvMtAI&yF|tta4knPxB@|AY|}y& zKIFoWDyWom{8=w{PKNi~6^>*hD*$z!>F3Y%0$w)i^-qSb4Jo_ESFA(;6jK%@-vsG_ zN-FXo`AHZpmy(F?tjrxu|0^Ky*--d=m6b(#Y*tj;e|sWS$rjfurK_rrqUw`;WMH~9 zSuKEDU>Lx$*DjLrS}5CM(mYc)m8Ps;eS&O}sbzkW?PXu4V5oBF2A?H?gm<0^SvL;$ zN^1%`xZ+!2aBdCr3nqzviq}N@;f7~wd+@@-l7`EJor}1BA5d3(KP1-))A70tFQN{J zZ8v5lr}Z49&$eIp{ZLhXtUwq)h1gJ9BP#7Etz6c>@xt!Fc$1&hwjQ#rSlT1_p-gt? z4Ltvy)}&MA=^^N933*~?3**AL!(&NjZva^r)O%2R38v6AttJ82ng^X1@jH+3Mk^HI zSFgMhTkH`sxfsHnNcKhu)A6Kf_^49I(>OkJOYtsyq)>@AMtj%zmjEhWlHqC3t3zx> zqaUyevGZ^2`KlYAQd|kfN2=`V;8T~Xu5)ZF1{<`i?4@sCip?j!!hf6o71S8<*)XtD zPk*BK_+b9wsP}A)X~dV^Znu(bQV;R)Rp09xYtU(2;S(5{me|40cQ5U(sv)CQ82sud z#6P?j&bFd~kF|s)w}}CVR>qCTG{%7xrsSllm}awnFS>GJTQmxu3^<)T${EUyA%l!G{K9-bX~fI-_jUJxk;Yz?)r1u z>S2nn2?S5? zn(6uqbnACP%?+bN$e!6^PtP$8{4nX*e`)ul8FE2h-C;Fb=dw(kzOq>%C%xgI7iIJk1u3+zbh6wcRVV$_(MPsnVx{ zJ>DSLd@B1ow{}?2f%XGK6jW5^*4GgvPBBo+fl>sX=yu#8Vo+J3$@`1Wr32%RM{=6i zwiMf#a^_i1l*N8N(L6*{KU7Zm`5`%2UEj)@9J5W9sq<7jUYTizvxFR$0KIW{mI`A% zj(*lFrS-d^9Zea@y|5ODYU;{E3O-oT1@2xkvXi5Ena$Kj-!I2M``AmFKmGz6AFWC^ zmHb(BOVQ18Jj@_R!!LfU_7TU2%2A@`yZ_qLLj(=A87npetref!!WIo&fZ1B16NGMDosPA~Zl>-85caz2~N$C&%G z7oZ#xo+);5DWkOr+bHGm(H`XVAopMhH$;uvUohcfy-Y}%3TIr&CCFtXZ<Cr$MEM9}hmay&7ei%%McNfLSvu z*lRJb-p@4nJ`?1YR2sK!d_FB+K|dAAE|j|`|`Wu1I&SxHwvd}JK48I|7>#-+v# zF6Qt(x^S_K#+2}(b zZ{CKt0({550+Y875!-{X*{~X2BtDIB)}$%U-gMVDs#SOK*{>{Q*2&;@ih~CB^6X=y z(c%3;-Aam(SU>G}7_XqGpy&a)88;XWCmVk1V;w7w`xxu>{n1kRhbb(hjpm;=`X!X3Wysrn{5}(tnj^<8wQ43}v2Q2SQoCT_4{Bp}mv;2P)S>Ut zWLP!ZN8KC^)vZC5)E@}@agUS|GUJD?dly^^yLZ{2o3XA%LXHH*h`FF1{I@o43LB6b z+j-_U@3#!jDo1CMfons~tmX&mbW9_#C~8er#_!9*H}@o7MKQdl8lf9GVNs3d6 zrq!Pq$e3JhgT6cgL3f9uQF6whVxF^aO+R?>;UPk35LQ2?XRo(*y!xI~GkK^=>5!N8 zG2RHW8`n9<@Yy^hwxMb!t}v}(jntR2F=FJyM(|92L_@_PUarCnh#m!%*9d83XyQY# zT4eFtDSbfT>gSIl8O8miuXJz1h^rhep%Ovv@e11M4UJUviMa$PZEt^447PJs zdSdJt%XWi|Ig!%2gMq5FQu@3{0Q)Q=G}>XAEu$a zj?Or305H#vMjulqZ1Y!W>uCYj)6dWPX+01BnZ>Bhgc-|tLy&X>#NsQ&v5%(0!{r*O zWKay#z&i39yr);ha_Fv*6tOy1cUk`uB{pSz&}=A9OQEoE%qk@zCz15evv0@O=AIr7 z&eo7vII(}tEpmL|+*SpLKv*6&Q`n&g@g&%Nwc=KN1$EE+{b?y6cmVSXaQFs!v6ERp zN>rB>mA)^}wAh329q{b49BZeR&4oNHG?JaRT;=}0A|ymt0X0Ay$^X9x5$~r}(G&Xy z=~aPrVp{a-gy~v-FcKiM7t)@Zd`D1TZFbk)-Rh7yNYyS_AaGFN!*s!zR9kt;#aH*}b5|AfT z=Si<5-|eC@C8jvw#-b$K4VIKF)>ajz^$k z4Y2A%{)?OZNV8S(g-%wQ9hTs$w10+ChboNqChz4v`3if`ABx8Ivo_?C!%P5BHCh;bR*JY0g8Feo2;q#^6T!Vgo z@E*9d!B@}$+t(3H-jlUAX_=*IpL;qI1gcxxtcJ-^!N4exMgN*qa{SKFQ-tjZv;zT@(du6i$+xitI zA!MccF8tt8^1|D@0HyF%le0iWE`15V);WK2eW|EqORyCQJwdVRcNP) zSH!J|3dd2wB0blX2e*9$eQSKitK5!biikyN_aN6l|JYO<_VcDHx-{$yO(Q>yqaEu# zHO5Ap+z$xiAL6SR6Zx$dv-&vo5U<>HvBf)9`5kvwp}y`SGJPS54RKQa>ssGMD~jlt z^G9$#r{w-$!!g+nHdHvn95h4zq5DBvOnJ6e3-CUbhAsrmxD5Xb@SK_&po zKq5mn#S-eeZsuS%VwiC~i0bpnFptv{`r4yk%QBV7AYzYXejy!c*i7)<(vA-)SQ ze@*uM!b`CN^*TuIU-}j)55_$@=?&-+U!Cf%APj<@7;rfDriUBTu0k6t9`ttNVAy8{ zZOaVc#-_;^LuCT==m~vHWK*;but9{`2erW*^QW|Wygq)Ld+QUmt0y3`K0jLN@;cG# zfO!2{q^Nkg0!rs6bI{YTU)Lw9qvVDgKNtL&!+k>MaL<~nGRqwlBu@d zQj}8GmTcKBj61TMMRedJ3=aO-wOstu<|%;9e=T2wo@~SRwvY2w6#21(YL2T<`?6P2 z!9_i=qtWBQO5$NUnYQTp6F|>he0|#t3X>9QvJ59Szgwvyxq%GwXiZxOU03OYF#qFI zY3!GKx`c;6j2sHx!%R01_dr>08zN_8<@I3 z!ZAyImh#{|?tSGgkn1LDb+YUGE(rDj0alo4u5TU{oIE(sFd42Ncl3IkK?^@9?##)) z;=#vy+yHU)dFT-!3q41`!?DRnK?RhU2)Xl*Yy|qM%|6;+zjiRKDWg9S6O)WH-po`w zjY#oph;`m4Nkm!mG@?1VOtb-F0?)XF87Rku6sRAD*B@@76Zxz7&R3FA$AB01C`V&6 zpLR=pqdE@i_6Q(k&lSm@dpZyBkPB5#$MZ6$F9EXcw0&${*8+CttJ@EUFb-^5_i>uN zVOQ?YOvGiEV52w&JC`u4$bwL*bC?y(^UNvo;`(UJT?Eb@Zx&Ie6C8HgcXbmBm;|;J zR=I7#)s5=usB1+<*`LQ@88p~i4ar`fJK$){it8NS_OO@M71?K5j%^ z>(?SPwn9hS)m)F*C-`;VBjsC)9=V5CtGRRXe=+~*ks`?t7xM*M-;=!|!lYg1;!h44 zyY2_RJs?Zo9DQ?%x-3c?aft>99+ziwX03p*DWcGFOVQfhA{%&x6Zs&aTD6?A>-bpo z4UipoZ~4h^{PO^4K$$JNd(kF`u|?j{2;VeP#zY7s24z&Z$e>uOSFsP@jfFLyaJ@9F zg)Dcd=DXAM|QD* z^x&c^KuOGdF$__$mf2UyHy*q~c>~7|J-Zdo0bLn@QR~Q>*}NLfF?j)Y6d{Gx^E1I@ zKPF@H?i+8W6=gcAiw+z`8r$jIzWQG2hO14c>b5?A&2OG~<5E13!6PFwjFzP)6;33uJSDrYKc% zXX`U2hR!P?Bl!U&ry~iiVT0kxRWmpVKP}>&$BMVPq(!s^%72B!A76&mJM5@0xy5e-I7%C%-l|Qe1A2iE1LIs7 z2-IhVfpPqGq*gmRI$Bf@{T@vqJtTp=a(^=&(h>`WX=rFXe*BowFAiFFUyf&Jd1WPd zRxl`VmpWE|@G(xk!&Z~b2vUFsempxnyR>BO|1kvjS;CPlFF55R;FMFqq?o2g94*(c zkfFFZ4%5V42&AC;4Ll%#GK0!x3X$SGieEnk$eX1*fG+^o9Nr&HV`m}-jf?%TZ45B&em;GzZMzI50 z;F~Ke?T>FwleGuK$>kmHG?B3(-UwRW7C7dB@g`u8@pX{2<37ar^2^Bk>x*McxMP(8 z>r;db?yJS7mJ2h%>QkalC?bZYtKcm?=2;Yco8o#kO>?thXhn`{J$mwF9WYm_Y!h!j z>zHh-DujKB@Sf%u+BeR3eDmIM=dtnFH508pT_wc7Xo*41>;}cyFk0VNM($lRh`f() z32E5YaqMRuz@}SRSTtbAv-J+I)IqMo9tY@_ZbxF&F^#%>R|CkgmyU4F2Z)f65Rs^; zglS~LR)(;f*y5MsJ^VNPztYs_>o94)iGVP?B*p-M6|*RyiY^@KsqOMWfI-Xk37pG5?aJU0Eh)xTW2Qpf0=4>RyDLB_AF8dI%K zBeGTTQC^7XVXYB(zwy!0gv7+ncMRi?@}XtV4iR!}j53~5l9D!C4OucL`Orp^BrRfM z>r+lnP7qK-U2eC1X@1R@%YH3qPp&5xHz984CApE7LJ$G?rEt8F8rvpgm!kRZQ3i8j z^;E-yn2#fG$f*-X!Y8A+L`b@u17WKdiHHeAJ9K2t7!A2(ORhRaV``I9R$AocgcNJG z8jP{0-wb6b)M1)r_XA8;Mm=O+8PBHoMGP?Bh|bNoNUcBV1>Ei%LUnP=Lb|sS z!k+}b#wCvA%gA%Fez44bS|U0i&5d^h?^A};+YTZ$Vb|XI7hwmxg{$gDhiqPL2V*AI zxg$BKMA@7gJS^73P4Z_V@c+fC7|W>h@i)SdaAw%i)*QkNw{pnh0E4ymb;a#Vt_fDQ zIH5MQ*IHvtnI@;#$}^>dN5=>1$pUC(IAyX2+>hsEK^wyYP~=XydZv^@TAJ1iKhS7Nu5RG zyM;(`K!JP;wis$BJ*OYL|6Gl+W9gpbJ`0UrEe<*HcpI)OZ=FfgYz6Ny%vA0!3OcB9 z(gpwz#SY6>9xAI=+44sM;NTxMB#W?M7bhJ2V?lAltBrUe@F#gKtA?7$5>=$iW7Rr6 zx%lp&eWEts?#a9qWgpECAg-0s;$3Lq3VLs;FyWgw5MeSv)gJdY0#X-@TYL?-{aC(e z&?QvyJ_dgH?8n+@L=m%%g+K?h*aJtk%QwDBPqAs7RFZJMf%vBW?&LU-VizPV2_9(i zKfcNs108OnBDW(qa3Zv}{R{nrT>E8lnZF6|Be&In@))^E!eKd~M_W^YaPk|Yqodzu z!-PL0$I~D7;3Qp@xCfl>PtAG;AE@Ay&cyAVGRQ7I5mJTUOtV%P*}QlyfJ2T`aof0Y zWg%QLH{q$#Z8|Eg$B${AEJvq*8>ITG(_IhYdmM=Z(*A&;GoL~qk8P%CwxCHmsg++~ zc)NOjb+Zd0Er}&}s_Z$Pg5p|H2{2Nd7<=HpkoaT#OP}1ldQ6yInAA>e-J_t!_8-^o zu83bJg_#za-m%;?5BcCSi(u;>=L&8mY#3+jntT8!Z_l1Az>(u6J%CTe%AE9fVQr}1 z>?AURXb+WB7VH~i1d-yMzt_7-bZo!{9gLOuz6;lJw2Nj^Wk-4W?`;~@TB+bgeSR$C zHTMuX<6~{N$>2)fvPJqYUbP-T0vV)sW%5)<9nl|@f$=UWVw2YZh%C+XPj7+bhu!Z^ zCn$y!OQL$CtccmD&@aBSaV%^Y7^Rf$ZUJe!g_n6Ogd8C$`xdoYVC#=X8Ay#P2=U zUT5;kp7TNiJc5s6H^BS1_`0)jd7XeNJ_sL|Eu~Biw122QbIkO*`D*xpS%iM+X(P+nQ>1`<_K41nHC! zeX7jf?wj`nj717lutk zxJ{h58sc8M!O6e&T-d`TBJ7>Lic`gUKTVc%*1*)WD1Rg>;0Eob)tuV`_d<;&-2}@a z^l6!)3( z5!u&!&^8+8NmMO9_TzI1>n}0--xT=sYJWbKS@%AcImy3;&48xv$ci5GnAML%E%K^I9CtQpm z|5rtX3>@`YL_@$^$hz+SR#Wx#rHi9N4da@%^JFqKxCaTxOGa|lE3Otxi+ZQQ6LHTE z5lpfTxUW~sAkXzUN@L}eU3zCH+zF^Hs+pz-oDz=m+6T3hRmB1S71?Pf3Oz4+NTQ1# z(};foZxmsV0(~44!(uF4gT`J$N`ce_@r%s_lz$ zB|9eoQKdA1Vk&wLym4m{J5h)r(Md#DUIQ1>(h1iq{O4fbSXudp!=7CQ6=^2Sah8?h zb&5}C*{b5EBC~_a?^d^}G~Xt)&@u0JnA}E_Z=bc|aRXwS|12S2i35dThqoJ1Ji_q8 z16(HsboIpPC#ar?KSb_#d5wX5-a2-G;m=+GdBYR@(bGejY$YBP+$#1o76+_^Nms9i ztSp>7B?7vZ$ooU{CdYvgDCkq`+6? zAkN^QVMSXt4Zy3uNxukv{LaZG=f6d@>eMRwjmqd13sC@G?Kaa# zETD`oi7nWYoc~r}6KqnPK=_y7u=5Ow4NzEafWjhuA&bIR@a{9PHzCrl$YZPjNu!xr?Tt>Y}Cw03&z|{;M2Y%W+KE~`JXE( z(nju&*jJP6k31$+#kWPAJK1eDrT=;3wos<>eZrL-HX0M#j3Su+D$@av2W$@%8Npbk zGp+<5#hU;7o3f(MTj0^^_HyXyHKM&;`6_V?h6&N9_yaL?lchx>GO+u(14|9;206Uv_qS~HyU12Mz^ z#j^b&V@H5!=-(1<&h8~F9Jea3tN6mzcgWae+OC+~n5iTKC+hiW0ho<}#uQJ<~o%VX_&=hiz?tst{ z+`)O3D;Fg#F!8m}v+M3VX}e*nxS7GT+01Yb!7!$dSV}1;F>U{W3#~U>uk!+Xw7g|2 z2i@6^<#xP=04s8bS0lX6O z6~C1QbrlliW9-3I0O?efuK|$cial1tr2o2{`8Cpl)m#Hk$Ge=Q-JLe^8~KIN2Vz## zfDbjZ*?CoSXN@~{s}&stlm~DlB?@Zz27nj1_q8$>bBW#Ea&s_D@50z|+s}2Srk_Sbxt=+f&CN77YWvz_CH9Ft(fF|PohB+=k|o?c*c+p+3uN}U!l_=}%s zx~&TWwt*eB%PF|G)mP42yJ!52>k3KxRRp;&|EW?sVJ0x>Es)|ZV@+++lh3TnQ(#x; z_nJW~$%Zf?foR+4Iw7Dfafq6sRg_7kv%%Nt#Yk;|>57KDsxMB+x)EYI5bZIL+(+DC z6;0OQq_dApfw9PsZoFWAniiSG^y#HD*tCtyeN8Wu9=?>lR7}d0BHQv;lc+BHX{!G2 zuXzsD?X7kP_IA8Xe=*oA3%hnTgH|PF3fc=j1=eB?9b5s35^a}Wdoqixk{xuFI_z3wj1{md;L#z-DL)c?Bp9hS%1J%XT6RM+Dg_L0 zFnzGZs+H~ynZB%R>ujG1IZ@rckEat${~>`NEFZlHSkFz^au}`fc;0!_ZfgMdkPoj& z4qNzr^(1{;J)2_gA#7Tg4!;r&_G(AZv+FL;VlKbK{Io6GK>nwaQ4TIVIIQYf^df4X zB(P$Z9NT6Wlsz!aFk~)JQj&G>>iTmpLSRbu{*i~d*d2Uqjs_GoDZ)&R=fZ;CikUyl z$LUFUIZ>%OyG6(d_P7kIhbg+467#4#TU1dE)lMTUabTW5*!)n@fQ1Tb@U)#2%d=14 z!&G(oT(qznNX_%EyOy(H<=P$_IVDoX#5^NP7Ah=SeHo2mz`To_9k9SMcA6d zPwZa&SfsO5;&G!ehP$PhM2h?Qu%q&WDhvyvFE-2%Gp1P6bahGn=dMVj+UsAF`Wig) zsj0TF4EMTQXm}v1R$~vv#jpcM?~Cq}r?cIdd&pVI`hk)*<2Wn7vJ=6C_jb4_?JLYM>aNLWZ%;tCCcIN!q|V$@3$tx|r4(y`~yp4AdWX z;g78EQSzEsu%2DC)@|#)I zT)77M&?WB`+B<L?quXZ_j+-UNN7OBCP z`$4vDR}ANpnYJdwQx!XxK9mlgJP9$+oQuF9S)^VNp`UVQuFm4SDt=vv;z#MTaCwD# za4KWh`?x-muc&7Y1jra~C+pupQ(s1~r(Z}E8S6!pe++p1$At}!qL#m6W>^hK&povY ze|Z%Ze95YRFLUWJd2lCAf>FU?uYu~iy-dl^s_2ZjD^lB_^AWX@J!`|}Xq7AG zKd&$>P!|p`r@i#_yx(UKesq6Lf2v%LW`5*9!v~YGo#%y8K!e@44(+_JGfIQXK*Os9dw`dChw+59eG+UIhl%*~Len zbD~&6$GqLE*ZO_f+RXD7+vUcGH3xl#-tR{2f^cbTR>dxNJ2>84aAsT580mYZS8>lx zzm)&+#setIS#QJg2x^evJ6t084u3mI_DvvHHNvgj-@l^eeF;Ivp2&pkuz`Opj7&uF z8Id;*rk#z@=!pc}S*2rdTi&og>wvh2=PaBXzdpDsW21;YT)xXy$VnPO>?z^k4&plX zN|>BFY!ySYib+f{?zYw1aipD&DWq5{2LTl5eVv`Pr&7a%37f%_m94ioHD2zmeZ8!M z5DcoHv|$seWS8@$XCH|>x%*`P)s+1dAMU&wH@M1oH=$@ffZet>F}kLKLNKEhQs>>{ zh|+#yAZ9$4_aJCNOXh#vo4@y&w>sFYD?SZ^d=*sOap z+wGLWK2{nz;emTEbIP#b?B^FRq}ALaf;)#7+IapnCb_G*bh7-v49EopedV3cZ%;;T zYUmU+bUCL6CmsF`Hrw)O|DL9c8t zZVv|Map0MSXQTmWpyGD{;XdFTi6~y1=6fK3GBo%renYC~7w3be6Vj%f6{SZx7fgs< zH>$vs$566P438&7e)1}RUO-WR_%kf0%|hBq43oKH2rh70sQPj~y}h{ra3pU0-jOht z;-?PMCx-BM)q$r1IKb(=M|_YfgtO%Hv0wH(@tEt&l{`h57zzeu(!z)Hb ztVi*P0Iu$hY>TbJS*N|*;VLWa6yR_{{c^Z4VA0r@HGE8@2MBP6^r)OJzyLm1T_~k9 zBqfp&8gi3H_9r~*ECOc{_;t&(m86WM^n^yB^~#^Dl#6j%XHPJYBGrf?a`v^W^1KY5 zY%IVc@S$YqK3=j=<544g%JeraGZ2q&eK@71W}&|ma3-H|6+D?M+RO)B$`(kt;ybF- zlqV_i&`iw6)*~bUuDBIHYEueR5wViMR~_@A+HY(PfrlKqiYa<%60|>vk^n{|jB|T} z-ml*iz%01qKkY^g9M%jJ)8q~?U)!Z9T8PoUcV;_pqPL!;9lh-AtFe! z=P$uZMn3&iOS}h(K{nrUr4S(JBMgqFf500+Ihl{UbB&*zC5#xEt9+dHQse(5Aq;%2 zlL+_0*98rsDxriW*}fR}9AGe;eMzyQ4Y@nq5uvQnGZ81vZfbzJ?#h7qzg6bF(n3kD z(~n|7f|c0+?fKX8&uE_PMbCXYF&C`)=!AQc$nJ>4GZij-0#28f1su7C<&phpm zQ+JLNm%6F>FY`)p8d`y0Utj9evQutH4s0X8NO=^ z{*>NjzHc%W;bSfWSrsC>oxJkk&&jI&YP{Jrj~gM*ui@gg}q{mcOt~ z2f~yu{gFfUPsb80z)yS-fgb`Z{9K zO*tsnJ)rMZi$US|RjAlYh$_qVhwGrw<3!L3K$Spi9ePOn>+L3!(s>k}1eink0Re0H z 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 literal 0 HcmV?d00001 diff --git a/docs/mindstudio/docs/source_zh_cn/index.rst b/docs/mindstudio/docs/source_zh_cn/index.rst new file mode 100644 index 0000000000..da8712a407 --- /dev/null +++ b/docs/mindstudio/docs/source_zh_cn/index.rst @@ -0,0 +1,46 @@ +MindStudio 文档 +========================================= + +MindStudio是面向AI开发者提供的全流程工具链,提供了精度、性能、内存调试及可视化能力,帮助开发者高效完成训练开发等任务。 + +同时,为了方便开发者快速使用,在MindSpore框架内置了精度数据采集、性能数据采集功能;在MindSpore Transformers等大模型套件集成了精度在线监控、性能采集功能。 + +本文档汇总了MindStudio和MindSpore框架等提供的系列调试工具,并简要介绍这些工具的安装方式、主要功能、入门指导,以及在大模型场景的使用方式。 + +代码仓地址: + +.. image:: ./images/MindStudio8.2.RC1.png + :alt: Architecture + +.. toctree:: + :glob: + :maxdepth: 1 + :caption: 工具概览与安装 + :hidden: + + overview + +.. toctree:: + :glob: + :maxdepth: 1 + :caption: 功能介绍 + :hidden: + + feature/precision + feature/performance + +.. toctree:: + :glob: + :maxdepth: 1 + :caption: 入门指南 + :hidden: + + guide/get_start + +.. toctree:: + :glob: + :maxdepth: 1 + :caption: 大模型调试调优指南 + :hidden: + + guide/large_model diff --git a/docs/mindstudio/docs/source_zh_cn/overview.md b/docs/mindstudio/docs/source_zh_cn/overview.md new file mode 100644 index 0000000000..f40533c79f --- /dev/null +++ b/docs/mindstudio/docs/source_zh_cn/overview.md @@ -0,0 +1,44 @@ +# 调试调优工具概览与安装说明 + +[![查看源文件](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r2.7.1/resource/_static/logo_source.svg)](https://gitee.com/mindspore/docs/blob/r2.7.1/docs/mindstudio/docs/source_zh_cn/overview.md) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
类型名称简介安装指南
精度调试msprobe提供精度数据采集、精度预检、精度比对和溢出检测等精度调试功能。推荐优先选择msprobe 8.2.0版本安装msprobe
Tensorboard可视化比对工具:为msprobe采集的模型结构和精度数据提供可视化比对功能。仅支持MindSpore>=2.4.0版本。安装tb_graph_ascend
性能调优ProfilerMindSpore框架内置的性能数据采集、分析工具。推荐优先选择MindSpore 2.7.1版本。安装MindSpore
msprof-anaylze为采集的性能数据提供统计、分析、专家建议等功能。推荐优先选择msprof-anaylze 8.2.0版本安装msprof-anaylze
msleaksCANN包提供的命令行工具,用于模型训练内存问题定位,提供Step内和Step间的内存异常检测能力,包括Step内内存泄漏分析和Step间内存对比分析。安装MindSpore
MindStudio Insight可视化性能调优工具,提供时间线视图、算子耗时、通信瓶颈分析等功能,辅助快速分析模型性能瓶颈。安装MindStudio Insight
查询版本配套关系
diff --git a/docs/mindstudio/docs/source_zh_cn/version/mindstudio_insight.md b/docs/mindstudio/docs/source_zh_cn/version/mindstudio_insight.md new file mode 100644 index 0000000000..63c6c1cc8a --- /dev/null +++ b/docs/mindstudio/docs/source_zh_cn/version/mindstudio_insight.md @@ -0,0 +1,19 @@ +# MindStudio Insight与MindSpore版本配套 + +[![查看源文件](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r2.7.1/resource/_static/logo_source.svg)](https://gitee.com/mindspore/docs/blob/r2.7.1/docs/mindstudio/docs/source_zh_cn/version/mindstudio_insight.md) + +MindStudio Insight可视化工具,需要与采集性能数据时使用的MindSpore版本配套。 +当前最新MindStudio Insight版本为8.1RC1: + +| MindStudio Insight | MindSpore | +|:----------------------------------------------------:|:-------------------------------------------:| +| [8.1.RC1](https://www.hiascend.com/developer/download/community/result?module=sto+cann&sto=8.1.RC1&cann=8.2.RC1) | [2.7.0](https://www.mindspore.cn/versions#2.7.0) | + +历史版本配套关系: + +| MindStudio Insight | MindSpore | +|:----------------------------------------------------:|:-------------------------------------------:| +| [8.1.RC1](https://www.hiascend.com/developer/download/community/result?module=sto+cann&sto=8.1.RC1&cann=8.2.RC1) | [2.7.0](https://www.mindspore.cn/versions#2.7.0) | +| [8.0.RC1](https://www.hiascend.com/developer/download/community/result?module=sto+cann&sto=8.0.RC1&cann=8.1.RC1) | [2.6.0](https://www.mindspore.cn/versions#2.6.0) | +| [7.0.RC3](https://www.hiascend.com/developer/download/community/result?module=sto+cann&sto=7.0.RC3&cann=8.0.RC3.beta1) | [2.5.0](https://www.mindspore.cn/versions#2.5.0) | +| [7.0.RC3](https://www.hiascend.com/developer/download/community/result?module=sto+cann&sto=7.0.RC3&cann=8.0.RC3.beta1) | [2.4.10](https://www.mindspore.cn/versions#2.4.10) | -- Gitee