华为云用户手册
-
创建委托 登录 IAM 控制台。 在左侧导航栏,单击“委托”,进入委托页面。 单击右上角“创建委托”,进入创建委托页面。 参考表1设置创建委托的参数。 表1 创建委托 名称 说明 样例 委托名称 标识该委托代理的名称。 须知: 委托名称必须为apm_admin_trust。 - 委托类型 选择“云服务”。 云服务 云服务 请选择“ 应用运维管理 AOM ”。 - 持续时间 选择“永久”。 永久 描述 可选参数,用于补充说明该委托代理的详细信息。 - 单击“下一步”,进入“授权”页面。 在“选择策略”页签选择“DMS UserAccess”策略,并单击“下一步”。 DMS UserAccess策略:分布式消息服务普通用户权限(无实例创建、修改、删除、扩容、转储)。 在“设置最小授权范围”页签设置授权范围方案为“指定区域项目资源”,并在下方“项目[所属区域]”选定生效区域。 单击“确定”,委托关系创建成功。
-
操作系统使用限制 AOM支持多个操作系统,在购买主机时您需选择AOM支持的操作系统,详见表1,否则无法使用AOM对主机进行监控。 表1 AOM支持的操作系统及版本 操作系统 版本 SUSE SUSE Enterprise 11 SP4 64bit SUSE Enterprise 12 SP1 64bit SUSE Enterprise 12 SP2 64bit SUSE Enterprise 12 SP3 64bit OpenSUSE 13.2 64bit 42.2 64bit 15.0 64bit(该版本暂不支持syslog日志采集) EulerOS 2.2 64bit 2.3 64bit 2.5 64bit 2.9 64bit 2.10 64bit CentOS 6.3 64bit 6.5 64bit 6.8 64bit 6.9 64bit 6.10 64bit 7.1 64bit 7.2 64bit 7.3 64bit 7.4 64bit 7.5 64bit 7.6 64bit Ubuntu 14.04 server 64bit 16.04 server 64bit 18.04 server 64bit Fedora 24 64bit 25 64bit 29 64bit Debian 7.5.0 32bit 7.5.0 64bit 8.2.0 64bit 8.8.0 64bit 9.0.0 64bit Kylin Kylin V10 SP1 64bit 对于Linux x86_64服务器,AOM支持上表中所有的操作系统及版本。 对于Linux ARM服务器,CentOS操作系统仅支持7.4 及其以上版本,上表所列的其他操作系统对应版本均支持。
-
创建委托 登录IAM控制台。 在左侧导航栏,单击“委托”,进入委托页面。 单击右上角“创建委托”,进入创建委托页面。 参考表1设置创建委托的参数。 表1 创建委托 名称 说明 样例 委托名称 标识该委托代理的名称。 aom_ecm_trust 委托类型 选择“云服务” - 云服务 选择“E CS BMS” - 持续时间 选择“永久” - 描述 可选参数,用于补充说明该委托代理的详细信息。 - 单击“完成”,在授权的确认弹窗中,单击“立即授权”,进入“授权”页面。 在“选择策略”页签选择“AOM FullAccess”策略,并单击“下一步”。 单击页面下方的“确定”按钮,委托关系创建成功。
-
名词解释 基本概念、云服务简介、专有名词解释 弹性公网EIP:提供独立的公网IP资源,包括公网IP地址与公网出口带宽服务。可以与弹性云服务器、裸金属服务器、虚拟VIP、弹性负载均衡、NAT网关等资源灵活地绑定及解绑。 虚拟私有云VPC :是用户在云上申请的隔离的、私密的虚拟网络环境。用户可以自由配置VPC内的IP地址段、子网、安全组等子服务,也可以申请弹性带宽和弹性IP搭建业务系统。 安全组:安全组是一个逻辑上的分组,为同一个VPC内具有相同安全保护需求并相互信任的弹性云服务器提供访问策略。安全组创建后,用户可以在安全组中定义各种访问规则,当弹性云服务器加入该安全组后,即受到这些访问规则的保护。 云数据库 RDS for MySQL:简称(RDS)是一种基于 云计算平台 的即开即用、稳定可靠、弹性伸缩、便捷管理的在线云数据库服务。 数据复制服务 :简称(DRS)致力于提供数据库零停机的迁移上云体验,支持同构异构数据库、 分布式数据库 、分片式数据库之间的迁移,通过DRS也可以让数据库到数据库、数仓、大数据的数据集成与数据传输秒级可达,为企业数据贯穿和数字化转型打下坚实的第一步
-
快速部署 本章节主要帮助用户快速部署该解决方案。 表1 参数填写说明 参数名称 类型 是否必填 参数解释 默认值 source_db_name String 必填 源数据库RDS(for mysql)名称,取值范围:4~64个字符之间,必须以字母开头,区分大小写,可以包含字母、数字、中划线或者下划线,不能包含其他的特殊字符。 空 source_db_ip Number 必填 源数据库的访问地址,IP地址或者 域名 。 空 source_db_port String 必填 源数据库的访问端口,取值范围为:1024-65535(其中12017和33071被RDS系统占用不可设置)。 3306 source_db_password String 必填 源数据库RDS(for MySQL)管理员密码。管理员账户名默认root。取值范围:8~32个字符,至少包含以下字符中的三种:大写字母、小写字母、数字和特殊字符~!@#%^*_-=+?,()&$。 空 vpc_name String 必填 目标数据库虚拟私有云(VPC)名称,该模板使用新建VPC,不允许重名。取值范围:1-50个字符,支持中文、英文字母、数字、_(下划线)、-(中划线)、.(点)。 rapid-creating-of-rds-clone-instance-demo secgroup_name String 必填 目标数据库安全组名称,该模板新建安全组,安全组规则请参考部署指南进行配置。取值范围:1-64个字符,支持数字、字母、中文、_(下划线)、-(中划线)、.(点)。 rapid-creating-of-rds-clone-instance-demo destination_db_name String 必填 目标数据库RDS(for mysql)名称,取值范围:4~64个字符之间,必须以字母开头,区分大小写,可以包含字母、数字、中划线或者下划线,不能包含其他的特殊字符。 rapid-creating-of-rds-clone-instance-demo destination_db_password String 必填 目标数据库RDS(for MySQL)管理员密码,创建完成后,请参考云数据库RDS(for MySQL)重置密码。管理员账户名默认root。取值范围:8~32个字符,至少包含以下字符中的三种:大写字母、小写字母、数字和特殊字符~!@#%^*_-=+?,()&$。 空 drs_name String 必填 数据复制服务DRS任务名称,取值范围:4-50位,必须以字母开头,可以包含字母、数字、中划线或下划线,不能包含其他特殊字符。 rapid-creating-of-rds-clone-instance-demo 登录华为云解决方案实践,选择“快速创建云数据库RDS克隆实例”解决方案,单击“一键部署”,跳转至解决方案创建堆栈界面。 图1 解决方案实施库 在选择模板界面中,单击“下一步”。 图2 选择模板 在配置参数页面中,参考表1完成自定义参数填写,单击“下一步”。 图3 配置参数 在资源栈设置页面中,权限委托选择“rf_admin_trust”(可选),单击“下一步”。 图4 资源栈设置 在配置确认页面中,单击“创建执行计划”。 图5 配置确认 在弹出的创建执行计划框中,自定义填写执行计划名称,单击“确认”。 图6 创建执行计划 图7 执行计划创建成功 单击“执行”,弹出执行计划提示信息,单击“执行”确认执行。 图8 执行计划确认 等待解决方案自动部署。部署成功后,单击“事件”,回显结果如下: 图9 资源创建成功 父主题: 实施步骤
-
创建rf_admin_trust委托(可选) 进入华为云官网,打开控制台管理界面,鼠标移动至个人账号处,打开“ 统一身份认证 ”菜单。 图1 控制台管理界面 图2 统一身份认证菜单 进入“委托”菜单,搜索“rf_admin_trust”委托。 图3 委托列表 如果委托存在,则不用执行接下来的创建委托的步骤 如果委托不存在时执行接下来的步骤创建委托 单击步骤2界面中的“创建委托”按钮,在委托名称中输入“rf_admin_trust”,委托类型选择“云服务”,输入“ RFS ”,单击“下一步”。 图4 创建委托 在搜索框中输入“Tenant Administrator”权限,并勾选搜索结果,单击“下一步”。 图5 选择策略 选择“所有资源”,并单击“下一步“完成配置。 图6 设置授权范围 “委托”列表中出现“rf_admin_trust”委托则创建成功。 图7 委托列表
-
资源和成本规划 该解决方案主要部署如下资源,不同产品的花费仅供参考,具体请参考华为云官网价格,实际以收费账单为准: 表1 资源和成本规划(按需计费) 华为云服务 配置示例 每月预估花费 云数据库 RDS(for MySQL) 区域:华北-北京四 计费模式:按需计费 数据库引擎:MySQL 实例类型:主备 购买数量:1 每月花费与源数据库相同,具体参考RDS费用详情 数据复制服务 DRS 区域:华北-北京四 按需计费:配置费用2.4元/小时+数据传输费用1.50元/G 计费模式:按需计费 任务类型:实时迁移 数据流动方向:入云 源数据库引擎:MySQL 目标数据库引擎:MySQL 2.40*24*30=1728元+1.50元/G 合计 - 1728元 +1.5元/G+RDS(for MySQL)费用
-
操作步骤 创建客户端将产生费用,实际扣费以账单为准。详细信息,请参见计费模式。 登录华为云控制台,在页面左上角单击,在服务列表中选择“数智融合计算服务 DataArtsFabric”。 图1 打开服务列表 在Fabric工作空间管理台,单击“接入管理”,进入客户端列表页,单击“创建客户端”。 在“创建客户端”页面,输入“客户端名称”,选择“虚拟私有云”和“所属子网”,勾选“我已阅读、知晓并同意以上的内容”,单击“确定”完成创建。 图2 创建客户端 表1 创建客户端参数说明 参数 说明 客户端名称 自定义客户端的名称,只能包含字母、数字、下划线、中划线,且长度为4~32个字符。 虚拟私有云 在下拉列表选择虚拟私有云。关于如何创建私有虚拟云,请参见创建虚拟私有云和子网。 所属子网 在下拉列表选择所属子网。关于如何创建子网,请参见创建虚拟私有云和子网。 当客户端的“状态”变为“运行中”,表示客户端创建完成。 单击客户端名称,进入客户端详情页,可以查看域名和接入连接表的IP地址。 通过域名和IP地址访问服务时,均需要将请求头中的HOST指定为域名。 使用域名调用: curl -kv https://fabric-ep.{region}.myhuaweicloud.com/healthcheck -H "host:fabric-ep.{region}.myhuaweicloud.com" 使用IP调用: curl -kv https://192.168.0.200/healthcheck -H "host:fabric-ep.{region}.myhuaweicloud.com" 图3 客户端详情页
-
Step4 开启训练故障自动重启功能 创建训练作业时,可开启自动重启功能。当环境问题导致训练作业异常时,系统将自动修复异常或隔离节点,并重启训练作业,提高训练成功率。为了避免丢失训练进度、浪费算力。此功能已适配断点续训练。 图3 开启故障重启 断点续训练是通过checkpoint机制实现。checkpoint机制是在模型训练的过程中,不断地保存训练结果(包括但不限于EPOCH、模型权重、优化器状态、调度器状态)。即便模型训练中断,也可以基于checkpoint继续训练。 当训练作业发生故障中断本次作业时,代码可自动从训练中断的位置接续训练,加载中断生成的checkpoint,中间不需要改动任何参数。可以通过训练脚本中的SAVE_INTERVAL参数来指定间隔多少step保存checkpoint。 如果要使用自动重启功能,资源规格必须选择八卡规格,设置变量MA_TRAIN_AUTO_RESUME为True的前提下,默认为Fasle。 训练作业中的训练故障自动恢复功能包括: 训练容错检查(自动重启),帮助用户隔离故障节点,优化用户训练体验。详细可了解:训练容错检查 无条件自动重启,不管什么原因系统都会自动重启训练作业,提高训练成功率和提升作业的稳定性。详细可了解:无条件自动重启。
-
Step2 配置数据输入和输出 单击“增加训练输入”和“增加训练输出”,用于配置训练作业开始时需要输入数据的路径和训练结束后输出数据的路径。 输入指定的目录在训练开始时,平台会自动将指定的OBS路径下的文件copy到容器内 输出指定的目录在训练过程中,平台会自动将容器内的文件copy到指定的OBS路径下 在“输入”的输入框内设置变量:ORIGINAL_TRAIN_DATA_PATH、ORIGINAL_HF_WEIGHT、USER_PRO CES SED_DATA_DIR、USER_CONVERTED_CKPT_PATH根据实际要求选择,示例如下。 输入数据集变量:是否使用已处理好数据集; 是,设置以下变量 USER_PROCESSED_DATA_DIR:已处理好数据路径目录 否,使用原始数据集,设置以下变量 ORIGINAL_TRAIN_DATA_PATH:训练时指定的输入原始数据集路径。 输入权重词表变量:是否使用已转换Megatron格式权重; 是,设置以下变量 USER_CONVERTED_CKPT_PATH:已转换Megatron格式权重目录变量。 ORIGINAL_HF_WEIGHT:加载tokenizer与Hugging Face权重对应的存放目录地址。 否,设置以下变量 ORIGINAL_HF_WEIGHT:加载tokenizer与Hugging Face权重对应的存放地址 在“输出”的输入框内设置变量:OUTPUT_SAVE_DIR、HF_SAVE_DIR,根据实际要求选择,示例如下; OUTPUT_SAVE_DIR:训练完成后指定的输出模型路径。 MG_TO_HF_PATH:训练完成的权重文件自动转换为Hugging Face格式权重输出的路径(确保添加CONVERT_MG2HF环境变量并设置为True)。 分别单击“输入”和“输出”的数据存储位置,如图所示,选择OBS桶中指定的目录。ORIGINAL_TRAIN_DATA_PATH中则直接选中数据集文件,USER_CONVERTED_CKPT_PATH则需选中存放已处理好数据集的目录文件夹。 “输入”和“输出”中的获取方式全部选择为:环境变量。 “输出”中的预下载至本地目标选择:下载,此时输出路径中的数据则会下载至OBS中。
-
Ascend-vLLM支持的特性介绍 表1 Ascend-vLLM支持的特性 特性名称 特性说明 调度 Page-attention 分块管理kvcache,提升吞吐。 Continuous batching 迭代级调度,动态调整batch,降低延迟,提升吞吐。 Multi-step 一次调度多次推理,降低调度上的cpu-overhead。 量化 W4A16-AWQ、GPTQ 权重Int4量化,降低显存消耗和时延。小并发时延提升80%,精度损失2%以内。 W8A8-smoothQuant 权重Int8量化,降低显存消耗,吞吐提升30%;精度损失1.5%以内。 W8A16-GPTQ Int8量化,降低显存消耗,提高吞吐20%。精度损失1%以内。 Kv8 Kv-cache量化,提高吞吐,支持更长序列。 高效解码 Auto-prefix-caching 前缀缓存,降低首token时延。在system prompt较长或多轮对话场景收益明显 Chunked-prefill 又名split-fuse。全量增量同时推理,提高资源利用率,提升吞吐。 Speculative Decoding 支持大小模型投机推理和eager模式投机,提升推理性能。 图模式 Cuda-graph/cann-graph 记录算子执行的依赖关系构图;消除python host耗时;且支持动态shape。 Torch.compile Torch.dynamo构图,转ascend-GE后端推理;使用静态分档。 实例复用 Multi-lora 多lora挂载,多个不同微调模型共用一份权重同时部署。 控制输出 Guided Decoding 通过特定模式控制模型输出。 Beam search 通过beamsearch输出多个候选结果。 分离部署 PD分离部署 全量、增量分离部署,提高资源利用率,提升体验。 剪枝 FASP (Fast and Accurate Structured Pruning) 剪枝 FASP剪枝是一种结构化稀疏剪枝方法,能有效降低模型显存以及需要部署的资源依赖,减小推理过程中的计算量,降低增量推理时延,提升吞吐。
-
Ascend-vLLM概述 vLLM是GPU平台上广受欢迎的大模型推理框架,因其高效的continuous batching和pageAttention功能而备受青睐。此外,vLLM还具备投机推理和自动前缀缓存等关键功能,使其在学术界和工业界都得到了广泛应用。 Ascend-vLLM是华为云针对NPU优化的推理框架,继承了vLLM的优点,并通过特定优化实现了更高的性能和易用性。它使得在NPU卡上运行大模型变得更加高效和便捷,为用户带来了极大的便利和性能提升。Ascend-vLLM可广泛应用于各种大模型推理任务,特别是在需要高性能和高效率的场景中,如自然语言处理、图像生成和 语音识别 等。 Ascend-vLLM的主要特点 易用性:Ascend-vLLM简化了在大模型上的部署和推理过程,使开发者可以更轻松地使用它。 易开发性:提供了友好的开发和调试环境,便于模型的调整和优化。 高性能:通过自研特性和针对NPU的优化,如PD分离、前后处理、sample等,实现了高效的推理性能。
-
模型软件包结构说明 本教程需要使用到的AscendCloud-6.5.901中的AscendCloud-LLM-xxx.zip软件包和算子包AscendCloud-OPP,AscendCloud-LLM关键文件介绍如下。 |——AscendCloud-LLM |──llm_train # 模型训练代码包 |──AscendFactory |──examples/ # config配置文件目录 |──data.tgz # 样例数据压缩包 |──third-party/ # patch包 |──src/acs_train_solution/ # 训练运行包 |──intall.sh # 需要的依赖包 |──scripts_llamafactory/ # llamafactory兼容旧版本启动方式目录 |──scripts_modellink/ # modelLink兼容旧版本启动方式目录 |──Dockerfile
-
工作目录介绍 详细的工作目录参考如下,建议参考以下要求设置工作目录。训练脚本以分类的方式集中在scripts文件夹中。 ${workdir}(例如/home/ma-user/ws ) |──llm_train # 模型训练代码包 |──AscendFactory |──config/ # 配置文件 |──deepspeed/ |──modellink_performance_cfgs.yaml # 性能训练配置yaml文件 |──modellink_accuracy_cfgs.yaml # 精度训练配置yaml文件 |──modellink_performance_baseline.yaml # 性能基线训练文件 |──modellink_accuracy_baseline.yaml # 精度基线训练文件 |──data.tgz #样例数据压缩包 |──intall.sh # 需要的依赖包 |──scripts_modellink/ # modelLink兼容旧版本启动方式目录 |──llama3 # llama3系列模型执行脚本的文件夹 |──qwen2.5 # Qwen2.5系列模型执行脚本的文件夹 |── ... |── dev_pipeline.sh # 系列模型共同调用的多功能的脚本 |──third-party/ # patch包 |──src/acs_train_solution/ # 训练运行包 |──ascendcloud_patch/ # patch补丁包 |──benchmark/ #工具包,存放数据集及基线数据 |──trainer.py # 训练启动脚本 |──performance.py # benchmark训练性能比较启动脚本 |──accuracy.py # benchmark训练精度启动脚本 |──model/Qwen2-7B/ # 权重词表文件目录,如Qwen2-7B |──training_data # 原始数据目录 |──alpaca_gpt4_data.json # 微调数据 |──train-00000-of-00001-a09b74b3ef9c3b56.parquet #预训练数据 |──{output_dir} #{OUTPUT_SAVE_DIR}或yaml文件{output_dir}参数设置值 # 自动生成数据目录结构 |── preprocessed_data |──converted_hf2mg_weight_TP${TP}PP${PP} |──checkpoint # 训练完成生成目录Qwen2-7B,自动生成
-
获取模型软件包 本方案支持的模型对应的软件和依赖包获取地址如表1所示,模型列表、对应的开源权重获取地址如表1 支持的模型列表所示。 表1 模型对应的软件包和依赖包获取地址 代码包名称 代码说明 下载地址 AscendCloud-6.5.901xxx.zip 说明: 软件包名称中的xxx表示时间戳。 包含了本教程中使用到的模型训练代码、推理部署代码和推理评测代码。代码包具体说明请参见模型软件包结构说明。 获取路径:Support-E,在此路径中查找下载ModelArts 6.5.901版本。 说明: 如果上述软件获取路径打开后未显示相应的软件信息,说明您没有下载权限,请联系您所在企业的华为方技术支持下载获取。
-
上传代码和权重文件到工作环境 使用root用户以SSH的方式登录Server。 将AscendCloud代码包AscendCloud-xxx-xxx.zip上传到${workdir}目录下并解压缩,如:/home/ma-user/ws目录下,以下都以/home/ma-user/ws为例,请根据实际修改。 unzip AscendCloud-*.zip && unzip ./AscendCloud/AscendCloud-LLM-*.zip 上传tokenizers文件到工作目录中的/home/ma-user/ws/tokenizers/Llama2-{MODEL_TYPE}目录,如Llama2-70B。 具体步骤如下: 进入到${workdir}目录下,如:/home/ma-user/ws,创建tokenizers文件目录将权重和词表文件放在此处,以Llama2-70B为例。 cd /home/ma-user/ws mkdir -p tokenizers/Llama2-70B 多机情况下,只有在rank_0节点进行数据预处理,转换权重等工作,所以原始数据集和原始权重,包括保存结果路径,都应该在共享目录下。
-
Step2 配置数据输入和输出 单击“增加训练输入”和“增加训练输出”,用于配置训练作业开始时需要输入数据的路径和训练结束后输出数据的路径。 输入指定的目录在训练开始时,平台会自动将指定的OBS路径下的文件copy到容器内 输出指定的目录在训练过程中,平台会自动将容器内的文件copy到指定的OBS路径下 在“输入”框内设置超参配置:dataset、processed_data_dir、user_converted_ckpt_path、model_name_or_path根据实际要求选择,示例如下。 输入数据集参数:是否使用已处理好数据集; 是,设置以下超参 processed_data_dir:已处理好数据路径目录 否,使用原始数据集,设置以下超参 dataset:训练时指定的输入原始数据集路径。 输入权重词表超参:是否使用已转换Megatron格式权重或训练输出结果权重目录; 是,设置以下超参 user_converted_ckpt_path:已转换Megatron格式权重目录或训练输出结果权重目录,一般搭配断点续训或增量训练。详见断点续训和故障快恢说明 model_name_or_path:加载tokenizer与Hugging Face权重对应存放目录地址。 否,设置以下超参 model_name_or_path:加载tokenizer与Hugging Face权重对应的存放地址 在“输出”的输入框内设置超参:output_dir、hf_save_dir,根据实际要求选择,示例如下; output_dir:训练完成后指定的输出模型路径。 hf_save_dir:训练完成的权重文件自动转换为Hugging Face格式权重输出的路径(确保convert_mg2hf_at_last设置为True,默认为True)。 分别单击“输入”和“输出”的数据存储位置,如图所示,选择OBS桶中指定的目录。超参:dataset中则直接选中数据集文件,超参:processed_data_dir则需选中存放已处理好数据集的目录文件夹。 “输入”和“输出”中的获取方式全部选择为:超参。 “输出”中的预下载至本地目标选择:下载,此时输出路径中的数据则会下载至OBS中。
-
Step4 开启训练故障自动重启功能 创建训练作业时,可开启自动重启功能。当环境问题导致训练作业异常时,系统将自动修复异常或隔离节点,并重启训练作业,提高训练成功率。为了避免丢失训练进度、浪费算力。此功能已适配断点续训练。 图3 开启故障重启 断点续训练是通过checkpoint机制实现。checkpoint机制是在模型训练的过程中,不断地保存训练结果(包括但不限于EPOCH、模型权重、优化器状态、调度器状态)。即便模型训练中断,也可以基于checkpoint继续训练。 当训练作业发生故障中断本次作业时,代码可自动从训练中断的位置接续训练,加载中断生成的checkpoint,中间不需要改动任何参数。可以通过训练脚本中的SAVE_INTERVAL参数来指定间隔多少step保存checkpoint。 如果要使用自动重启功能,资源规格必须选择八卡规格,设置超参train_auto_resume为True的前提下,默认为Fasle。 训练作业中的训练故障自动恢复功能包括: 训练容错检查(自动重启),帮助用户隔离故障节点,优化用户训练体验。详细可了解:训练容错检查 无条件自动重启,不管什么原因系统都会自动重启训练作业,提高训练成功率和提升作业的稳定性。详细可了解:无条件自动重启。
-
理解ModelArts的权限与委托 图1 权限管理抽象 ModelArts与其他服务类似,功能都通过IAM的权限来进行控制。比如,用户(此处指IAM子账号,而非租户)希望在ModelArts创建训练作业,则该用户必须拥有 "modelarts:trainJob:create" 的权限才可以完成操作(无论界面操作还是API调用)。关于如何给一个用户赋权(准确讲是需要先将用户加入用户组,再面向用户组赋权),可以参考IAM的文档《权限管理》。 而ModelArts还有一个特殊的地方在于,为了完成AI计算的各种操作,AI平台在任务执行过程中需要访问用户的其他服务,典型的就是训练过程中,需要访问OBS读取用户的训练数据。在这个过程中,就出现了ModelArts“代表”用户去访问其他云服务的情形。从安全角度出发,ModelArts代表用户访问任何云服务之前,均需要先获得用户的授权,而这个动作就是一个“委托”的过程。用户授权ModelArts再代表自己访问特定的云服务,以完成其在ModelArts平台上执行的AI计算任务。 综上,对于图1 权限管理抽象可以做如下解读: 用户访问任何云服务,均是通过标准的IAM权限体系进行访问控制。用户首先需要具备相关云服务的权限(根据您具体使用的功能不同,所需的相关服务权限亦有差异)。 权限:用户使用ModelArts的任何功能,亦需要通过IAM权限体系进行正确权限授权。 委托:ModelArts上的AI计算任务执行过程中需要访问其他云服务,此动作需要获得用户的委托授权。
-
用工作空间限制资源访问 工作空间是ModelArts面向企业用户提供的一个高阶功能,用于进一步将用户的资源划分在多个逻辑隔离的空间中,并支持以空间维度进行访问的权限限定。目前工作空间功能是“受邀开通”状态,作为企业用户您可以通过您对口的技术支持经理申请开通。 在开通工作空间后,系统会默认为您创建一个“default”空间,您之前所创建的所有资源,均在该空间下。当您创建新的工作空间之后,相当于您拥有了一个新的“ModelArts分身”,您可以通过菜单栏的左上角进行工作空间的切换,不同工作空间中的工作互不影响。 创建工作空间时,必须绑定一个企业项目。多个工作空间可以绑定到同一个企业项目,但一个工作空间不可以绑定多个企业项目。借助工作空间,您可以对不同用户的资源访问和权限做更加细致的约束,具体为如下两种约束: 只有被授权的用户才能访问特定的工作空间(在创建、管理工作空间的页面进行配置),这意味着,像数据集、算法等AI资产,均可以借助工作空间做访问的限制。 在前文提到的权限授权操作中,如果“选择授权范围方案”时设定为“指定企业项目资源”,那么该授权仅对绑定至该企业项目的工作空间生效。 工作空间的约束与权限授权的约束是叠加生效的,意味着对于一个用户,必须同时拥有工作空间的访问权和训练任务的创建权限(且该权限覆盖至当前的工作空间),他才可以在这个空间里提交训练任务。 对于已经开通企业项目但没有开通工作空间的用户,其所有操作均相当于在“default”企业项目里进行,请确保对应权限已覆盖了名为default的企业项目。 对于未开通企业项目的用户,不受上述约束限制。
-
ModelArts权限管理 默认情况下,管理员创建的IAM用户没有任何权限,需要将其加入用户组,并给用户组授予策略,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于授予的权限对云服务进行操作。 ModelArts部署时通过物理区域划分,为项目级服务,授权时“选择授权范围方案”可以选择“指定区域项目资源”,如果授权时指定了区域(如华北-北京4)对应的项目(cn-north-4),则该权限仅对此项目生效;简单的做法是直接选择“所有资源”。 ModelArts也支持企业项目,所以选择授权范围方案时,也可以指定企业项目。具体操作参见《创建用户组并授权》。 IAM在对用户组授权的时候,并不是直接将具体的某个权限进行赋权,而是需要先将权限加入到“策略”当中,再把策略赋给用户组。为了方便用户的权限管理,各个云服务都提供了一些预置的“系统策略”供用户直接使用。如果预置的策略不能满足您的细粒度权限控制要求,则可以通过“自定义策略”来进行精细控制。 表1列出了ModelArts的所有预置系统策略。 表1 ModelArts系统策略 策略名称 描述 类型 ModelArts FullAccess ModelArts管理员用户,拥有所有ModelArts服务的权限 系统策略 ModelArts CommonOperations ModelArts操作用户,拥有所有ModelArts服务操作权限除了管理专属资源池的权限 系统策略 ModelArts Dependency Access ModelArts服务的常用依赖服务的权限 系统策略 通常来讲,只给管理员开通“ModelArts FullAccess”,如果不需要太精细的控制,直接给所有用户开通“ModelArts CommonOperations”即可满足大多数小团队的开发场景诉求。如果您希望通过自定义策略做深入细致的权限控制,请阅读ModelArts的IAM权限控制详解。 ModelArts的权限不会凌驾于其他服务的权限之上,当您给用户进行ModelArts赋权时,系统不会自动对其他相关服务的相关权限进行赋权。这样做的好处是更加安全,不会出现预期外的“越权”,但缺点是,您必须同时给用户赋予不同服务的权限,才能确保用户可以顺利完成某些ModelArts操作。 举例,如果用户需要用OBS中的数据进行训练,当已经为IAM用户配置ModelArts训练权限时,仍需同时为其配置对应的OBS权限(读、写、列表),才可以正常使用。其中OBS的列表权限用于支持用户从ModelArts界面上选择要进行训练的数据路径;读权限主要用于数据的预览以及训练任务执行时的数据读取;写权限则是为了保存训练结果和日志。 对于个人用户或小型组织,一个简单做法是为IAM用户配置“作用范围”为“全局级服务”的“Tenant Administrator”策略,这会使用户获得除了IAM以外的所有用户权限。在获得便利的同时,由于用户的权限较大,会存在相对较大的安全风险,需谨慎使用。(对于个人用户,其默认IAM账号就已经属于admin用户组,且具备Tenant Administrator权限,无需额外操作) 当您需要限制用户操作,仅为ModelArts用户配置OBS相关的最小化权限项,具体操作请参见OBS权限管理。对于其他云服务,也可以进行精细化权限控制,具体请参考对应的云服务文档。
-
严格授权模式 严格授权模式是指在IAM中创建的子账号必须由账号管理员显式在IAM中授权,才能访问ModelArts服务,管理员用户可以通过授权策略为普通用户精确添加所需使用的ModelArts功能的权限。 相对的,在非严格授权模式下,子账号不需要显式授权就可以使用ModelArts,管理员需要在IAM上为子账号配置Deny策略来禁止子账号使用ModelArts的某些功能。 账号的管理员用户可以在“权限管理”页面修改授权模式。 如无特殊情况,建议优先使用严格授权模式。在严格授权模式下,子账号要使用ModelArts的功能都需经过授权,可以更精确的控制子账号的权限范围,达成权限最小化的安全策略。
-
模型软件包结构说明 本教程需要使用到的AscendCloud-6.3.911中的AscendCloud-LLM-xxx.zip软件包和算子包AscendCloud-OPP,AscendCloud-LLM关键文件介绍如下。 |——AscendCloud-LLM |──llm_train # 模型训练代码包 |──AscendSpeed # 基于AscendSpeed的训练代码 |──ascendcloud_patch/ # 针对昇腾云平台适配的功能补丁包 |──scripts/ # 训练需要的启动脚本 |──llama2 # llama2系列模型执行脚本的文件夹 |──llama3 # llama3系列模型执行脚本的文件夹 |──qwen # Qwen系列模型执行脚本的文件夹 |──qwen1.5 # Qwen1.5系列模型执行脚本的文件夹 |── ... |── dev_pipeline.sh # 系列模型共同调用的多功能的脚本 |── install.sh # 环境部署脚本 |——src/ # 启动命令行封装脚本,在install.sh里面自动构建 |──llm_inference # 推理代码包 |──llm_tools # 推理工具
-
获取模型软件包 本方案支持的模型对应的软件和依赖包获取地址如表1所示,模型列表、对应的开源权重获取地址如表2所示。 表1 模型对应的软件包和依赖包获取地址 代码包名称 代码说明 下载地址 AscendCloud-6.3.911-xxx.zip 说明: 软件包名称中的xxx表示时间戳。 包含了本教程中使用到的模型训练代码、推理部署代码和推理评测代码。代码包具体说明请参见模型软件包结构说明。 获取路径:Support-E,在此路径中查找下载ModelArts 6.3.911版本。 说明: 如果上述软件获取路径打开后未显示相应的软件信息,说明您没有下载权限,请联系您所在企业的华为方技术支持下载获取。
-
工作目录介绍 详细的工作目录参考如下,建议参考以下要求设置工作目录。训练脚本以分类的方式集中在scripts文件夹中。 ${workdir}(例如/home/ma-user/ws ) |──llm_train #解压代码包后自动生成的代码目录,无需用户创建 |── AscendSpeed # 代码目录 |──ascendcloud_patch/ # 针对昇腾云平台适配的功能代码包 |──scripts/ # 各模型训练需要的启动脚本,训练脚本以分类的方式集中在scripts文件夹中。 # 自动生成数据目录结构 |── processed_for_input #目录结构会自动生成,无需用户创建 |── ${model_name} # 模型名称 |── data # 预处理后数据 |── pretrain # 预训练加载的数据 |── finetune # 微调加载的数据 |──converted_weights # HuggingFace格式转换megatron格式后权重文件 |── saved_dir_for_output # 训练输出保存权重,目录结构会自动生成,无需用户创建 |── ${model_name} # 模型名称 |── logs # 训练过程中日志(loss、吞吐性能) |—— saved_models |── lora # lora微调输出权重 |── sft # 增量训练输出权重 |── pretrain # 预训练输出权重 |── tokenizers #tokenizer目录,需要用户手动创建,后续操作步骤中会提示 |── Llama2-70B |── models #原始权重与tokenizer目录,需要用户手动创建,后续操作步骤中会提示 |── Llama2-70B |── training_data #原始数据目录,需要用户手动创建,后续操作步骤中会提示 |── train-00000-of-00001-a09b74b3ef9c3b56.parquet #原始数据文件 |── alpaca_gpt4_data.json #微调数据文件
-
上传代码和权重文件到工作环境 使用root用户以SSH的方式登录Server。 将AscendCloud代码包AscendCloud-xxx-xxx.zip上传到${workdir}目录下并解压缩,如:/home/ma-user/ws目录下,以下都以/home/ma-user/ws为例,请根据实际修改。 unzip AscendCloud-*.zip && unzip ./AscendCloud/AscendCloud-LLM-*.zip 上传tokenizers文件到工作目录中的/home/ma-user/ws/tokenizers/Llama2-{MODEL_TYPE}目录,如Llama2-70B。 具体步骤如下: 进入到${workdir}目录下,如:/home/ma-user/ws,创建tokenizers文件目录将权重和词表文件放置此处,以Llama2-70B为例。 cd /home/ma-user/ws mkdir -p tokenizers/Llama2-70B 多机情况下,只有在rank_0节点进行数据预处理,转换权重等工作,所以原始数据集和原始权重,包括保存结果路径,都应该在共享目录下。
-
上传代码和权重文件到工作环境 使用root用户以SSH的方式登录Server。 将AscendCloud代码包AscendCloud-xxx-xxx.zip上传到${workdir}目录下并解压缩,如:/home/ma-user/ws目录下,以下都以/home/ma-user/ws为例,请根据实际修改。 unzip AscendCloud-*.zip && unzip ./AscendCloud/AscendCloud-LLM-*.zip 上传tokenizers文件到工作目录中的/home/ma-user/ws/tokenizers/Llama2-{MODEL_TYPE}目录,如Llama2-70B。 具体步骤如下: 进入到${workdir}目录下,如:/home/ma-user/ws,创建tokenizers文件目录将权重和词表文件放置此处,以Llama2-70B为例。 cd /home/ma-user/ws mkdir -p tokenizers/Llama2-70B 多机情况下,只有在rank_0节点进行数据预处理,转换权重等工作,所以原始数据集和原始权重,包括保存结果路径,都应该在共享目录下。
-
获取模型软件包 本方案支持的模型对应的软件和依赖包获取地址如表1所示,模型列表、对应的开源权重获取地址如表1 支持的模型列表所示。 表1 模型对应的软件包和依赖包获取地址 代码包名称 代码说明 下载地址 AscendCloud-6.3.912-xxx.zip 说明: 软件包名称中的xxx表示时间戳。 包含了本教程中使用到的模型训练代码、推理部署代码和推理评测代码。代码包具体说明请参见模型软件包结构说明。 获取路径:Support-E,在此路径中查找下载ModelArts 6.3.912 版本。 说明: 如果上述软件获取路径打开后未显示相应的软件信息,说明您没有下载权限,请联系您所在企业的华为方技术支持下载获取。
-
模型软件包结构说明 本教程需要使用到的AscendCloud-6.3.912中的AscendCloud-LLM-xxx.zip软件包和算子包AscendCloud-OPP,AscendCloud-LLM关键文件介绍如下。 |——AscendCloud-LLM |──llm_train # 模型训练代码包 |──AscendFactory |──examples/ # config配置文件目录 |──data.tgz # 样例数据压缩包 |──third-party/ # patch包 |──src/acs_train_solution/ # 训练运行包 |──intall.sh # 需要的依赖包 |──scripts_llamafactory/ # llamafactory兼容旧版本启动方式目录 |──scripts_modellink/ # modelLink兼容旧版本启动方式目录 |──Dockerfile
共100000条
- 1
- ...
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
- 252
- 253
- 254
- 255
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 265
- 266
- 267
- 268
- 269
- 270
- 271
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 280
- 281
- 282
- 283
- 284
- 285
- 286
- 287
- 288
- 289
- 290
- 291
- 292
- 293
- 294
- 295
- 296
- 297
- 298
- 299
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308
- 309
- 310
- 311
- 312
- 313
- 314
- 315
- 316
- 317
- 318
- 319
- 320
- 321
- 322
- 323
- 324
- 325
- 326
- 327
- 328
- 329
- 330
- 331
- 332
- 333
- 334
- 335
- 336
- 337
- 338
- 339
- 340
- 341
- 342
- 343
- 344
- 345
- 346
- 347
- 348
- 349
- 350
- 351
- 352
- 353
- 354
- 355
- 356
- 357
- 358
- 359
- 360
- 361
- 362
- 363
- 364
- 365
- 366
- 367
- 368
- 369
- 370
- 371
- 372
- 373
- 374
- 375
- 376
- 377
- 378
- 379
- 380
- 381
- 382
- 383
- 384
- 385
- 386
- 387
- 388
- 389
- 390
- 391
- 392
- 393
- 394
- 395
- 396
- 397
- 398
- 399
- 400
- 401
- 402
- 403
- 404
- 405
- 406
- 407
- 408
- 409
- 410
- 411
- 412
- 413
- 414
- 415
- 416
- 417
- 418
- 419
- 420
- 421
- 422
- 423
- 424
- 425
- 426
- 427
- 428
- 429
- 430
- 431
- 432
- 433
- 434
- 435
- 436
- 437
- 438
- 439
- 440
- 441
- 442
- 443
- 444
- 445
- 446
- 447
- 448
- 449
- 450
- 451
- 452
- 453
- 454
- 455
- 456
- 457
- 458
- 459
- 460
- 461
- 462
- 463
- 464
- 465
- 466
- 467
- 468
- 469
- 470
- 471
- 472
- 473
- 474
- 475
- 476
- 477
- 478
- 479
- 480
- 481
- 482
- 483
- 484
- 485
- 486
- 487
- 488
- 489
- 490
- 491
- 492
- 493
- 494
- 495
- 496
- 497
- 498
- 499
- 500
- 501
- 502
- 503
- 504
- 505
- 506
- 507
- 508
- 509
- 510
- 511
- 512
- 513
- 514
- 515
- 516
- 517
- 518
- 519
- 520
- 521
- 522
- 523
- 524
- 525
- 526
- 527
- 528
- 529
- 530
- 531
- 532
- 533
- 534
- 535
- 536
- 537
- 538
- 539
- 540
- 541
- 542
- 543
- 544
- 545
- 546
- 547
- 548
- 549
- 550
- 551
- 552
- 553
- 554
- 555
- 556
- 557
- 558
- 559
- 560
- 561
- 562
- 563
- 564
- 565
- 566
- 567
- 568
- 569
- 570
- 571
- 572
- 573
- 574
- 575
- 576
- 577
- 578
- 579
- 580
- 581
- 582
- 583
- 584
- 585
- 586
- 587
- 588
- 589
- 590
- 591
- 592
- 593
- 594
- 595
- 596
- 597
- 598
- 599
- 600
- 601
- 602
- 603
- 604
- 605
- 606
- 607
- 608
- 609
- 610
- 611
- 612
- 613
- 614
- 615
- 616
- 617
- 618
- 619
- 620
- 621
- 622
- 623
- 624
- 625
- 626
- 627
- 628
- 629
- 630
- 631
- 632
- 633
- 634
- 635
- 636
- 637
- 638
- 639
- 640
- 641
- 642
- 643
- 644
- 645
- 646
- 647
- 648
- 649
- 650
- 651
- 652
- 653
- 654
- 655
- 656
- 657
- 658
- 659
- 660
- 661
- 662
- 663
- 664
- 665
- 666
- 667
- 668
- 669
- 670
- 671
- 672
- 673
- 674
- 675
- 676
- 677
- 678
- 679
- 680
- 681
- 682
- 683
- 684
- 685
- 686
- 687
- 688
- 689
- 690
- 691
- 692
- 693
- 694
- 695
- 696
- 697
- 698
- 699
- 700
- 701
- 702
- 703
- 704
- 705
- 706
- 707
- 708
- 709
- 710
- 711
- 712
- 713
- 714
- 715
- 716
- 717
- 718
- 719
- 720
- 721
- 722
- 723
- 724
- 725
- 726
- 727
- 728
- 729
- 730
- 731
- 732
- 733
- 734
- 735
- 736
- 737
- 738
- 739
- 740
- 741
- 742
- 743
- 744
- 745
- 746
- 747
- 748
- 749
- 750
- 751
- 752
- 753
- 754
- 755
- 756
- 757
- 758
- 759
- 760
- 761
- 762
- 763
- 764
- 765
- 766
- 767
- 768
- 769
- 770
- 771
- 772
- 773
- 774
- 775
- 776
- 777
- 778
- 779
- 780
- 781
- 782
- 783
- 784
- 785
- 786
- 787
- 788
- 789
- 790
- 791
- 792
- 793
- 794
- 795
- 796
- 797
- 798
- 799
- 800
- 801
- 802
- 803
- 804
- 805
- 806
- 807
- 808
- 809
- 810
- 811
- 812
- 813
- 814
- 815
- 816
- 817
- 818
- 819
- 820
- 821
- 822
- 823
- 824
- 825
- 826
- 827
- 828
- 829
- 830
- 831
- 832
- 833
- 834
- 835
- 836
- 837
- 838
- 839
- 840
- 841
- 842
- 843
- 844
- 845
- 846
- 847
- 848
- 849
- 850
- 851
- 852
- 853
- 854
- 855
- 856
- 857
- 858
- 859
- 860
- 861
- 862
- 863
- 864
- 865
- 866
- 867
- 868
- 869
- 870
- 871
- 872
- 873
- 874
- 875
- 876
- 877
- 878
- 879
- 880
- 881
- 882
- 883
- 884
- 885
- 886
- 887
- 888
- 889
- 890
- 891
- 892
- 893
- 894
- 895
- 896
- 897
- 898
- 899
- 900
- 901
- 902
- 903
- 904
- 905
- 906
- 907
- 908
- 909
- 910
- 911
- 912
- 913
- 914
- 915
- 916
- 917
- 918
- 919
- 920
- 921
- 922
- 923
- 924
- 925
- 926
- 927
- 928
- 929
- 930
- 931
- 932
- 933
- 934
- 935
- 936
- 937
- 938
- 939
- 940
- 941
- 942
- 943
- 944
- 945
- 946
- 947
- 948
- 949
- 950
- 951
- 952
- 953
- 954
- 955
- 956
- 957
- 958
- 959
- 960
- 961
- 962
- 963
- 964
- 965
- 966
- 967
- 968
- 969
- 970
- 971
- 972
- 973
- 974
- 975
- 976
- 977
- 978
- 979
- 980
- 981
- 982
- 983
- 984
- 985
- 986
- 987
- 988
- 989
- 990
- 991
- 992
- 993
- 994
- 995
- 996
- 997
- 998
- 999
- 1000
- 1001
- 1002
- 1003
- 1004
- 1005
- 1006
- 1007
- 1008
- 1009
- 1010
- 1011
- 1012
- 1013
- 1014
- 1015
- 1016
- 1017
- 1018
- 1019
- 1020
- 1021
- 1022
- 1023
- 1024
- 1025
- 1026
- 1027
- 1028
- 1029
- 1030
- 1031
- 1032
- 1033
- 1034
- 1035
- 1036
- 1037
- 1038
- 1039
- 1040
- 1041
- 1042
- 1043
- 1044
- 1045
- 1046
- 1047
- 1048
- 1049
- 1050
- 1051
- 1052
- 1053
- 1054
- 1055
- 1056
- 1057
- 1058
- 1059
- 1060
- 1061
- 1062
- 1063
- 1064
- 1065
- 1066
- 1067
- 1068
- 1069
- 1070
- 1071
- 1072
- 1073
- 1074
- 1075
- 1076
- 1077
- 1078
- 1079
- 1080
- 1081
- 1082
- 1083
- 1084
- 1085
- 1086
- 1087
- 1088
- 1089
- 1090
- 1091
- 1092
- 1093
- 1094
- 1095
- 1096
- 1097
- 1098
- 1099
- 1100
- 1101
- 1102
- 1103
- 1104
- 1105
- 1106
- 1107
- 1108
- 1109
- 1110
- 1111
- 1112
- 1113
- 1114
- 1115
- 1116
- 1117
- 1118
- 1119
- 1120
- 1121
- 1122
- 1123
- 1124
- 1125
- 1126
- 1127
- 1128
- 1129
- 1130
- 1131
- 1132
- 1133
- 1134
- 1135
- 1136
- 1137
- 1138
- 1139
- 1140
- 1141
- 1142
- 1143
- 1144
- 1145
- 1146
- 1147
- 1148
- 1149
- 1150
- 1151
- 1152
- 1153
- 1154
- 1155
- 1156
- 1157
- 1158
- 1159
- 1160
- 1161
- 1162
- 1163
- 1164
- 1165
- 1166
- 1167
- 1168
- 1169
- 1170
- 1171
- 1172
- 1173
- 1174
- 1175
- 1176
- 1177
- 1178
- 1179
- 1180
- 1181
- 1182
- 1183
- 1184
- 1185
- 1186
- 1187
- 1188
- 1189
- 1190
- 1191
- 1192
- 1193
- 1194
- 1195
- 1196
- 1197
- 1198
- 1199
- 1200
- 1201
- 1202
- 1203
- 1204
- 1205
- 1206
- 1207
- 1208
- 1209
- 1210
- 1211
- 1212
- 1213
- 1214
- 1215
- 1216
- 1217
- 1218
- 1219
- 1220
- 1221
- 1222
- 1223
- 1224
- 1225
- 1226
- 1227
- 1228
- 1229
- 1230
- 1231
- 1232
- 1233
- 1234
- 1235
- 1236
- 1237
- 1238
- 1239
- 1240
- 1241
- 1242
- 1243
- 1244
- 1245
- 1246
- 1247
- 1248
- 1249
- 1250
- 1251
- 1252
- 1253
- 1254
- 1255
- 1256
- 1257
- 1258
- 1259
- 1260
- 1261
- 1262
- 1263
- 1264
- 1265
- 1266
- 1267
- 1268
- 1269
- 1270
- 1271
- 1272
- 1273
- 1274
- 1275
- 1276
- 1277
- 1278
- 1279
- 1280
- 1281
- 1282
- 1283
- 1284
- 1285
- 1286
- 1287
- 1288
- 1289
- 1290
- 1291
- 1292
- 1293
- 1294
- 1295
- 1296
- 1297
- 1298
- 1299
- 1300
- 1301
- 1302
- 1303
- 1304
- 1305
- 1306
- 1307
- 1308
- 1309
- 1310
- 1311
- 1312
- 1313
- 1314
- 1315
- 1316
- 1317
- 1318
- 1319
- 1320
- 1321
- 1322
- 1323
- 1324
- 1325
- 1326
- 1327
- 1328
- 1329
- 1330
- 1331
- 1332
- 1333
- 1334
- 1335
- 1336
- 1337
- 1338
- 1339
- 1340
- 1341
- 1342
- ...
- 1343
- 1344
- 1345
- 1346
- 1347
- 1348
- 1349
- 1350
- 1351
- 1352
- 1353
- 1354
- 1355
- 1356
- 1357
- 1358
- 1359
- 1360
- 1361
- 1362
- 1363
- 1364
- 1365
- 1366
- 1367
- 1368
- 1369
- 1370
- 1371
- 1372
- 1373
- 1374
- 1375
- 1376
- 1377
- 1378
- 1379
- 1380
- 1381
- 1382
- 1383
- 1384
- 1385
- 1386
- 1387
- 1388
- 1389
- 1390
- 1391
- 1392
- 1393
- 1394
- 1395
- 1396
- 1397
- 1398
- 1399
- 1400
- 1401
- 1402
- 1403
- 1404
- 1405
- 1406
- 1407
- 1408
- 1409
- 1410
- 1411
- 1412
- 1413
- 1414
- 1415
- 1416
- 1417
- 1418
- 1419
- 1420
- 1421
- 1422
- 1423
- 1424
- 1425
- 1426
- 1427
- 1428
- 1429
- 1430
- 1431
- 1432
- 1433
- 1434
- 1435
- 1436
- 1437
- 1438
- 1439
- 1440
- 1441
- 1442
- 1443
- 1444
- 1445
- 1446
- 1447
- 1448
- 1449
- 1450
- 1451
- 1452
- 1453
- 1454
- 1455
- 1456
- 1457
- 1458
- 1459
- 1460
- 1461
- 1462
- 1463
- 1464
- 1465
- 1466
- 1467
- 1468
- 1469
- 1470
- 1471
- 1472
- 1473
- 1474
- 1475
- 1476
- 1477
- 1478
- 1479
- 1480
- 1481
- 1482
- 1483
- 1484
- 1485
- 1486
- 1487
- 1488
- 1489
- 1490
- 1491
- 1492
- 1493
- 1494
- 1495
- 1496
- 1497
- 1498
- 1499
- 1500
- 1501
- 1502
- 1503
- 1504
- 1505
- 1506
- 1507
- 1508
- 1509
- 1510
- 1511
- 1512
- 1513
- 1514
- 1515
- 1516
- 1517
- 1518
- 1519
- 1520
- 1521
- 1522
- 1523
- 1524
- 1525
- 1526
- 1527
- 1528
- 1529
- 1530
- 1531
- 1532
- 1533
- 1534
- 1535
- 1536
- 1537
- 1538
- 1539
- 1540
- 1541
- 1542
- 1543
- 1544
- 1545
- 1546
- 1547
- 1548
- 1549
- 1550
- 1551
- 1552
- 1553
- 1554
- 1555
- 1556
- 1557
- 1558
- 1559
- 1560
- 1561
- 1562
- 1563
- 1564
- 1565
- 1566
- 1567
- 1568
- 1569
- 1570
- 1571
- 1572
- 1573
- 1574
- 1575
- 1576
- 1577
- 1578
- 1579
- 1580
- 1581
- 1582
- 1583
- 1584
- 1585
- 1586
- 1587
- 1588
- 1589
- 1590
- 1591
- 1592
- 1593
- 1594
- 1595
- 1596
- 1597
- 1598
- 1599
- 1600
- 1601
- 1602
- 1603
- 1604
- 1605
- 1606
- 1607
- 1608
- 1609
- 1610
- 1611
- 1612
- 1613
- 1614
- 1615
- 1616
- 1617
- 1618
- 1619
- 1620
- 1621
- 1622
- 1623
- 1624
- 1625
- 1626
- 1627
- 1628
- 1629
- 1630
- 1631
- 1632
- 1633
- 1634
- 1635
- 1636
- 1637
- 1638
- 1639
- 1640
- 1641
- 1642
- 1643
- 1644
- 1645
- 1646
- 1647
- 1648
- 1649
- 1650
- 1651
- 1652
- 1653
- 1654
- 1655
- 1656
- 1657
- 1658
- 1659
- 1660
- 1661
- 1662
- 1663
- 1664
- 1665
- 1666
- 1667
- 1668
- 1669
- 1670
- 1671
- 1672
- 1673
- 1674
- 1675
- 1676
- 1677
- 1678
- 1679
- 1680
- 1681
- 1682
- 1683
- 1684
- 1685
- 1686
- 1687
- 1688
- 1689
- 1690
- 1691
- 1692
- 1693
- 1694
- 1695
- 1696
- 1697
- 1698
- 1699
- 1700
- 1701
- 1702
- 1703
- 1704
- 1705
- 1706
- 1707
- 1708
- 1709
- 1710
- 1711
- 1712
- 1713
- 1714
- 1715
- 1716
- 1717
- 1718
- 1719
- 1720
- 1721
- 1722
- 1723
- 1724
- 1725
- 1726
- 1727
- 1728
- 1729
- 1730
- 1731
- 1732
- 1733
- 1734
- 1735
- 1736
- 1737
- 1738
- 1739
- 1740
- 1741
- 1742
- 1743
- 1744
- 1745
- 1746
- 1747
- 1748
- 1749
- 1750
- 1751
- 1752
- 1753
- 1754
- 1755
- 1756
- 1757
- 1758
- 1759
- 1760
- 1761
- 1762
- 1763
- 1764
- 1765
- 1766
- 1767
- 1768
- 1769
- 1770
- 1771
- 1772
- 1773
- 1774
- 1775
- 1776
- 1777
- 1778
- 1779
- 1780
- 1781
- 1782
- 1783
- 1784
- 1785
- 1786
- 1787
- 1788
- 1789
- 1790
- 1791
- 1792
- 1793
- 1794
- 1795
- 1796
- 1797
- 1798
- 1799
- 1800
- 1801
- 1802
- 1803
- 1804
- 1805
- 1806
- 1807
- 1808
- 1809
- 1810
- 1811
- 1812
- 1813
- 1814
- 1815
- 1816
- 1817
- 1818
- 1819
- 1820
- 1821
- 1822
- 1823
- 1824
- 1825
- 1826
- 1827
- 1828
- 1829
- 1830
- 1831
- 1832
- 1833
- 1834
- 1835
- 1836
- 1837
- 1838
- 1839
- 1840
- 1841
- 1842
- 1843
- 1844
- 1845
- 1846
- 1847
- 1848
- 1849
- 1850
- 1851
- 1852
- 1853
- 1854
- 1855
- 1856
- 1857
- 1858
- 1859
- 1860
- 1861
- 1862
- 1863
- 1864
- 1865
- 1866
- 1867
- 1868
- 1869
- 1870
- 1871
- 1872
- 1873
- 1874
- 1875
- 1876
- 1877
- 1878
- 1879
- 1880
- 1881
- 1882
- 1883
- 1884
- 1885
- 1886
- 1887
- 1888
- 1889
- 1890
- 1891
- 1892
- 1893
- 1894
- 1895
- 1896
- 1897
- 1898
- 1899
- 1900
- 1901
- 1902
- 1903
- 1904
- 1905
- 1906
- 1907
- 1908
- 1909
- 1910
- 1911
- 1912
- 1913
- 1914
- 1915
- 1916
- 1917
- 1918
- 1919
- 1920
- 1921
- 1922
- 1923
- 1924
- 1925
- 1926
- 1927
- 1928
- 1929
- 1930
- 1931
- 1932
- 1933
- 1934
- 1935
- 1936
- 1937
- 1938
- 1939
- 1940
- 1941
- 1942
- 1943
- 1944
- 1945
- 1946
- 1947
- 1948
- 1949
- 1950
- 1951
- 1952
- 1953
- 1954
- 1955
- 1956
- 1957
- 1958
- 1959
- 1960
- 1961
- 1962
- 1963
- 1964
- 1965
- 1966
- 1967
- 1968
- 1969
- 1970
- 1971
- 1972
- 1973
- 1974
- 1975
- 1976
- 1977
- 1978
- 1979
- 1980
- 1981
- 1982
- 1983
- 1984
- 1985
- 1986
- 1987
- 1988
- 1989
- 1990
- 1991
- 1992
- 1993
- 1994
- 1995
- 1996
- 1997
- 1998
- 1999
- 2000
- 2001
- 2002
- 2003
- 2004
- 2005
- 2006
- 2007
- 2008
- 2009
- 2010
- 2011
- 2012
- 2013
- 2014
- 2015
- 2016
- 2017
- 2018
- 2019
- 2020
- 2021
- 2022
- 2023
- 2024
- 2025
- 2026
- 2027
- 2028
- 2029
- 2030
- 2031
- 2032
- 2033
- 2034
- 2035
- 2036
- 2037
- 2038
- 2039
- 2040
- 2041
- 2042
- 2043
- 2044
- 2045
- 2046
- 2047
- 2048
- 2049
- 2050
- 2051
- 2052
- 2053
- 2054
- 2055
- 2056
- 2057
- 2058
- 2059
- 2060
- 2061
- 2062
- 2063
- 2064
- 2065
- 2066
- 2067
- 2068
- 2069
- 2070
- 2071
- 2072
- 2073
- 2074
- 2075
- 2076
- 2077
- 2078
- 2079
- 2080
- 2081
- 2082
- 2083
- 2084
- 2085
- 2086
- 2087
- 2088
- 2089
- 2090
- 2091
- 2092
- 2093
- 2094
- 2095
- 2096
- 2097
- 2098
- 2099
- 2100
- 2101
- 2102
- 2103
- 2104
- 2105
- 2106
- 2107
- 2108
- 2109
- 2110
- 2111
- 2112
- 2113
- 2114
- 2115
- 2116
- 2117
- 2118
- 2119
- 2120
- 2121
- 2122
- 2123
- 2124
- 2125
- 2126
- 2127
- 2128
- 2129
- 2130
- 2131
- 2132
- 2133
- 2134
- 2135
- 2136
- 2137
- 2138
- 2139
- 2140
- 2141
- 2142
- 2143
- 2144
- 2145
- 2146
- 2147
- 2148
- 2149
- 2150
- 2151
- 2152
- 2153
- 2154
- 2155
- 2156
- 2157
- 2158
- 2159
- 2160
- 2161
- 2162
- 2163
- 2164
- 2165
- 2166
- 2167
- 2168
- 2169
- 2170
- 2171
- 2172
- 2173
- 2174
- 2175
- 2176
- 2177
- 2178
- 2179
- 2180
- 2181
- 2182
- 2183
- 2184
- 2185
- 2186
- 2187
- 2188
- 2189
- 2190
- 2191
- 2192
- 2193
- 2194
- 2195
- 2196
- 2197
- 2198
- 2199
- 2200
- 2201
- 2202
- 2203
- 2204
- 2205
- 2206
- 2207
- 2208
- 2209
- 2210
- 2211
- 2212
- 2213
- 2214
- 2215
- 2216
- 2217
- 2218
- 2219
- 2220
- 2221
- 2222
- 2223
- 2224
- 2225
- 2226
- 2227
- 2228
- 2229
- 2230
- 2231
- 2232
- 2233
- 2234
- 2235
- 2236
- 2237
- 2238
- 2239
- 2240
- 2241
- 2242
- 2243
- 2244
- 2245
- 2246
- 2247
- 2248
- 2249
- 2250
- 2251
- 2252
- 2253
- 2254
- 2255
- 2256
- 2257
- 2258
- 2259
- 2260
- 2261
- 2262
- 2263
- 2264
- 2265
- 2266
- 2267
- 2268
- 2269
- 2270
- 2271
- 2272
- 2273
- 2274
- 2275
- 2276
- 2277
- 2278
- 2279
- 2280
- 2281
- 2282
- 2283
- 2284
- 2285
- 2286
- 2287
- 2288
- 2289
- 2290
- 2291
- 2292
- 2293
- 2294
- 2295
- 2296
- 2297
- 2298
- 2299
- 2300
- 2301
- 2302
- 2303
- 2304
- 2305
- 2306
- 2307
- 2308
- 2309
- 2310
- 2311
- 2312
- 2313
- 2314
- 2315
- 2316
- 2317
- 2318
- 2319
- 2320
- 2321
- 2322
- 2323
- 2324
- 2325
- 2326
- 2327
- 2328
- 2329
- 2330
- 2331
- 2332
- 2333
- 2334
- 2335
- 2336
- 2337
- 2338
- 2339
- 2340
- 2341
- 2342
- 2343
- 2344
- 2345
- 2346
- 2347
- 2348
- 2349
- 2350
- 2351
- 2352
- 2353
- 2354
- 2355
- 2356
- 2357
- 2358
- 2359
- 2360
- 2361
- 2362
- 2363
- 2364
- 2365
- 2366
- 2367
- 2368
- 2369
- 2370
- 2371
- 2372
- 2373
- 2374
- 2375
- 2376
- 2377
- 2378
- 2379
- 2380
- 2381
- 2382
- 2383
- 2384
- 2385
- 2386
- 2387
- 2388
- 2389
- 2390
- 2391
- 2392
- 2393
- 2394
- 2395
- 2396
- 2397
- 2398
- 2399
- 2400
- 2401
- 2402
- 2403
- 2404
- 2405
- 2406
- 2407
- 2408
- 2409
- 2410
- 2411
- 2412
- 2413
- 2414
- 2415
- 2416
- 2417
- 2418
- 2419
- 2420
- 2421
- 2422
- 2423
- 2424
- 2425
- 2426
- 2427
- 2428
- 2429
- 2430
- 2431
- 2432
- 2433
- 2434
- 2435
- 2436
- 2437
- 2438
- 2439
- 2440
- 2441
- 2442
- 2443
- 2444
- 2445
- 2446
- 2447
- 2448
- 2449
- 2450
- 2451
- 2452
- 2453
- 2454
- 2455
- 2456
- 2457
- 2458
- 2459
- 2460
- 2461
- 2462
- 2463
- 2464
- 2465
- 2466
- 2467
- 2468
- 2469
- 2470
- 2471
- 2472
- 2473
- 2474
- 2475
- 2476
- 2477
- 2478
- 2479
- 2480
- 2481
- 2482
- 2483
- 2484
- 2485
- 2486
- 2487
- 2488
- 2489
- 2490
- 2491
- 2492
- 2493
- 2494
- 2495
- 2496
- 2497
- 2498
- 2499
- 2500
- 2501
- 2502
- 2503
- 2504
- 2505
- 2506
- 2507
- 2508
- 2509
- 2510
- 2511
- 2512
- 2513
- 2514
- 2515
- 2516
- 2517
- 2518
- 2519
- 2520
- 2521
- 2522
- 2523
- 2524
- 2525
- 2526
- 2527
- 2528
- 2529
- 2530
- 2531
- 2532
- 2533
- 2534
- 2535
- 2536
- 2537
- 2538
- 2539
- 2540
- 2541
- 2542
- 2543
- 2544
- 2545
- 2546
- 2547
- 2548
- 2549
- 2550
- 2551
- 2552
- 2553
- 2554
- 2555
- 2556
- 2557
- 2558
- 2559
- 2560
- 2561
- 2562
- 2563
- 2564
- 2565
- 2566
- 2567
- 2568
- 2569
- 2570
- 2571
- 2572
- 2573
- 2574
- 2575
- 2576
- 2577
- 2578
- 2579
- 2580
- 2581
- 2582
- 2583
- 2584
- 2585
- 2586
- 2587
- 2588
- 2589
- 2590
- 2591
- 2592
- 2593
- 2594
- 2595
- 2596
- 2597
- 2598
- 2599
- 2600
- 2601
- 2602
- 2603
- 2604
- 2605
- 2606
- 2607
- 2608
- 2609
- 2610
- 2611
- 2612
- 2613
- 2614
- 2615
- 2616
- 2617
- 2618
- 2619
- 2620
- 2621
- 2622
- 2623
- 2624
- 2625
- 2626
- 2627
- 2628
- 2629
- 2630
- 2631
- 2632
- 2633
- 2634
- 2635
- 2636
- 2637
- 2638
- 2639
- 2640
- 2641
- 2642
- 2643
- 2644
- 2645
- 2646
- 2647
- 2648
- 2649
- 2650
- 2651
- 2652
- 2653
- 2654
- 2655
- 2656
- 2657
- 2658
- 2659
- 2660
- 2661
- 2662
- 2663
- 2664
- 2665
- 2666
- 2667
- 2668
- 2669
- 2670
- 2671
- 2672
- 2673
- 2674
- 2675
- 2676
- 2677
- 2678
- 2679
- 2680
- 2681
- 2682
- 2683
- 2684
- 2685
- 2686
- 2687
- 2688
- 2689
- 2690
- 2691
- 2692
- 2693
- 2694
- 2695
- 2696
- 2697
- 2698
- 2699
- 2700
- 2701
- 2702
- 2703
- 2704
- 2705
- 2706
- 2707
- 2708
- 2709
- 2710
- 2711
- 2712
- 2713
- 2714
- 2715
- 2716
- 2717
- 2718
- 2719
- 2720
- 2721
- 2722
- 2723
- 2724
- 2725
- 2726
- 2727
- 2728
- 2729
- 2730
- 2731
- 2732
- 2733
- 2734
- 2735
- 2736
- 2737
- 2738
- 2739
- 2740
- 2741
- 2742
- 2743
- 2744
- 2745
- 2746
- 2747
- 2748
- 2749
- 2750
- 2751
- 2752
- 2753
- 2754
- 2755
- 2756
- 2757
- 2758
- 2759
- 2760
- 2761
- 2762
- 2763
- 2764
- 2765
- 2766
- 2767
- 2768
- 2769
- 2770
- 2771
- 2772
- 2773
- 2774
- 2775
- 2776
- 2777
- 2778
- 2779
- 2780
- 2781
- 2782
- 2783
- 2784
- 2785
- 2786
- 2787
- 2788
- 2789
- 2790
- 2791
- 2792
- 2793
- 2794
- 2795
- 2796
- 2797
- 2798
- 2799
- 2800
- 2801
- 2802
- 2803
- 2804
- 2805
- 2806
- 2807
- 2808
- 2809
- 2810
- 2811
- 2812
- 2813
- 2814
- 2815
- 2816
- 2817
- 2818
- 2819
- 2820
- 2821
- 2822
- 2823
- 2824
- 2825
- 2826
- 2827
- 2828
- 2829
- 2830
- 2831
- 2832
- 2833
- 2834
- 2835
- 2836
- 2837
- 2838
- 2839
- 2840
- 2841
- 2842
- 2843
- 2844
- 2845
- 2846
- 2847
- 2848
- 2849
- 2850
- 2851
- 2852
- 2853
- 2854
- 2855
- 2856
- 2857
- 2858
- 2859
- 2860
- 2861
- 2862
- 2863
- 2864
- 2865
- 2866
- 2867
- 2868
- 2869
- 2870
- 2871
- 2872
- 2873
- 2874
- 2875
- 2876
- 2877
- 2878
- 2879
- 2880
- 2881
- 2882
- 2883
- 2884
- 2885
- 2886
- 2887
- 2888
- 2889
- 2890
- 2891
- 2892
- 2893
- 2894
- 2895
- 2896
- 2897
- 2898
- 2899
- 2900
- 2901
- 2902
- 2903
- 2904
- 2905
- 2906
- 2907
- 2908
- 2909
- 2910
- 2911
- 2912
- 2913
- 2914
- 2915
- 2916
- 2917
- 2918
- 2919
- 2920
- 2921
- 2922
- 2923
- 2924
- 2925
- 2926
- 2927
- 2928
- 2929
- 2930
- 2931
- 2932
- 2933
- 2934
- 2935
- 2936
- 2937
- 2938
- 2939
- 2940
- 2941
- 2942
- 2943
- 2944
- 2945
- 2946
- 2947
- 2948
- 2949
- 2950
- 2951
- 2952
- 2953
- 2954
- 2955
- 2956
- 2957
- 2958
- 2959
- 2960
- 2961
- 2962
- 2963
- 2964
- 2965
- 2966
- 2967
- 2968
- 2969
- 2970
- 2971
- 2972
- 2973
- 2974
- 2975
- 2976
- 2977
- 2978
- 2979
- 2980
- 2981
- 2982
- 2983
- 2984
- 2985
- 2986
- 2987
- 2988
- 2989
- 2990
- 2991
- 2992
- 2993
- 2994
- 2995
- 2996
- 2997
- 2998
- 2999
- 3000
- 3001
- 3002
- 3003
- 3004
- 3005
- 3006
- 3007
- 3008
- 3009
- 3010
- 3011
- 3012
- 3013
- 3014
- 3015
- 3016
- 3017
- 3018
- 3019
- 3020
- 3021
- 3022
- 3023
- 3024
- 3025
- 3026
- 3027
- 3028
- 3029
- 3030
- 3031
- 3032
- 3033
- 3034
- 3035
- 3036
- 3037
- 3038
- 3039
- 3040
- 3041
- 3042
- 3043
- 3044
- 3045
- 3046
- 3047
- 3048
- 3049
- 3050
- 3051
- 3052
- 3053
- 3054
- 3055
- 3056
- 3057
- 3058
- 3059
- 3060
- 3061
- 3062
- 3063
- 3064
- 3065
- 3066
- 3067
- 3068
- 3069
- 3070
- 3071
- 3072
- 3073
- 3074
- 3075
- 3076
- 3077
- 3078
- 3079
- 3080
- 3081
- 3082
- 3083
- 3084
- 3085
- 3086
- 3087
- 3088
- 3089
- 3090
- 3091
- 3092
- 3093
- 3094
- 3095
- 3096
- 3097
- 3098
- 3099
- 3100
- 3101
- 3102
- 3103
- 3104
- 3105
- 3106
- 3107
- 3108
- 3109
- 3110
- 3111
- 3112
- 3113
- 3114
- 3115
- 3116
- 3117
- 3118
- 3119
- 3120
- 3121
- 3122
- 3123
- 3124
- 3125
- 3126
- 3127
- 3128
- 3129
- 3130
- 3131
- 3132
- 3133
- 3134
- 3135
- 3136
- 3137
- 3138
- 3139
- 3140
- 3141
- 3142
- 3143
- 3144
- 3145
- 3146
- 3147
- 3148
- 3149
- 3150
- 3151
- 3152
- 3153
- 3154
- 3155
- 3156
- 3157
- 3158
- 3159
- 3160
- 3161
- 3162
- 3163
- 3164
- 3165
- 3166
- 3167
- 3168
- 3169
- 3170
- 3171
- 3172
- 3173
- 3174
- 3175
- 3176
- 3177
- 3178
- 3179
- 3180
- 3181
- 3182
- 3183
- 3184
- 3185
- 3186
- 3187
- 3188
- 3189
- 3190
- 3191
- 3192
- 3193
- 3194
- 3195
- 3196
- 3197
- 3198
- 3199
- 3200
- 3201
- 3202
- 3203
- 3204
- 3205
- 3206
- 3207
- 3208
- 3209
- 3210
- 3211
- 3212
- 3213
- 3214
- 3215
- 3216
- 3217
- 3218
- 3219
- 3220
- 3221
- 3222
- 3223
- 3224
- 3225
- 3226
- 3227
- 3228
- 3229
- 3230
- 3231
- 3232
- 3233
- 3234
- 3235
- 3236
- 3237
- 3238
- 3239
- 3240
- 3241
- 3242
- 3243
- 3244
- 3245
- 3246
- 3247
- 3248
- 3249
- 3250
- 3251
- 3252
- 3253
- 3254
- 3255
- 3256
- 3257
- 3258
- 3259
- 3260
- 3261
- 3262
- 3263
- 3264
- 3265
- 3266
- 3267
- 3268
- 3269
- 3270
- 3271
- 3272
- 3273
- 3274
- 3275
- 3276
- 3277
- 3278
- 3279
- 3280
- 3281
- 3282
- 3283
- 3284
- 3285
- 3286
- 3287
- 3288
- 3289
- 3290
- 3291
- 3292
- 3293
- 3294
- 3295
- 3296
- 3297
- 3298
- 3299
- 3300
- 3301
- 3302
- 3303
- 3304
- 3305
- 3306
- 3307
- 3308
- 3309
- 3310
- 3311
- 3312
- 3313
- 3314
- 3315
- 3316
- 3317
- 3318
- 3319
- 3320
- 3321
- 3322
- 3323
- 3324
- 3325
- 3326
- 3327
- 3328
- 3329
- 3330
- 3331
- 3332
- 3333
- 3333