阿里云:玩转AIGC(阿里云开发者社区)_第1页
阿里云:玩转AIGC(阿里云开发者社区)_第2页
阿里云:玩转AIGC(阿里云开发者社区)_第3页
阿里云:玩转AIGC(阿里云开发者社区)_第4页
阿里云:玩转AIGC(阿里云开发者社区)_第5页
已阅读5页,还剩82页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

AIGCAIGC。从0快速搭建个人版“对话大模型 基于AIACC加速器快速实现AIGC绘 快速搭建AI对话机器 AIGC文本生成3D模 AIGC文本生成视 基于AIACC加速器快速实现LLaMA-7B指令微 基于AIACC加速器快速实现StableDiffusion生成特定物体图片.60使用Megatron-Deepspeed训练GPT-2并生成文 从0从0“对话大模型 Alpaca大模型是一款基于LLaMA的大语言模型,它可以模拟自然语言进行对话交互,并本文基于阿里云GPU服务器和Alpaca大模型“对话大模型”1ECSECS实例创建页面ECS实例。关键参数说明如下,其他参数的配置,请参见Ubuntu20.04GPUCUDA11.4.1/Driver470.161.03/CUDNN8.2.4。公网IPIPv4100Mbps,ECS7860全组规则查看驱动以及CUDA库是否安装成功。CUDA库已安装成功。CUDA库时,请不要手动操作或者重启实例,否则可能会导致驱动CUDACUDA库完成以后,系统会自动重启。ECSECSrootECS实例。具体操作,请参见通过密码或密钥认证登录LinuxGPU执行以下命令,查看CUDA库的版本。nvccnvcc-aptaptinstall-ygitgit-lfspython-is-Pythonpippipinstallpipinstallsentencepiece==0.1.97-i/pipinstallpeft==0.2.0-i说明:GitHubTransformers3)在PyTorchGPUPyTorchGPUimportimporttrueGPUPythontmuxtmuxsessionaptaptinstall-ytmuxsessionECS执行以下命令,下载Chinese-LLaMA-Alpacagitgitclone/ymcui/Chinese-LLaMA-chinese-alpaca-lora-13bgit-lfsgit-lfsclonehttps://huggingface.co/ziqingyang/chinese-alpaca-lora-llama-13b-hfllama-13b-hfllama13bHuggingfacellama-13b-hf40GiB30LLaMA是第三方提供的Huggingface格式的预训练模型数据。Meta官方发布的LLaMAgit-lfsgit-lfsclonehttps://huggingface.co/decapoda-research/llama-13b-cdcdChinese-LLaMA-python--base_model~/llama-13b-hf/--output_dir命令行中需要用--output_dir命令指定一个输出目录,本示例中输出目录为/root/Chinese-LLaMA-Alpaca/llama_with_lora_hf。转换需要一段时间,需要耐心等lsls-lh执行以下命令,在/rootWebUIgitclone/oobabooga/text-generation-cdcdtext-generation-webui/pipinstall-rrequirements.txt-ls并后的数据模型目录为/r/ChinaMAAlaa/llaa_ih_lra_h合并代码步骤获取。lnln-s/root/Chinese-LLaMA-Alpaca/llama_with_lora_hf/models/llama_with_/r/ChinaMAAlaa/llaa_ih_lra_hfWebUIWebUI执行以下命令,运行WebUIcdcdtext-generation-webui/pythonserver.py--model--listen--chat--load-in---model:指定的是3model/目录名。本llama_with_lora_hf。--load-in-8bit8bit13B26GB显存,A1024GB8bit15GB。当显示如下图所示的回显信息时,表示运行WebUIECSECSIPAIAIACCAIACCAIGC AIACCAIGCUNetOPPyTorch息,请参见AIACC-Inference(AIACC)Torch。GPUStableDiffusionWebUIAIACCAIGCECSECSecs.gn7i-c16g1)4xlargeECS50000添加安IPWebUIv1-5-pruned-emaonly.safetensorsStableDiffusionv1)5AIrootECS体操作,请参见Linux。执行如下命令,下载v1-5-pruned-emaonly.safetensors模型。cd~/stable-diffusion-webui/models/Stable-diffusioncd~/stable-diffusion-webui/models/Stable-diffusioncdcd~/stable-diffusion-gitlfsclonehttps://huggingface.co/IDEA-CCNL/Taiyi-Stable-Diffusion-1gitlfsclonehttps://huggingface.co/IDEA-CCNL/Taiyi-Stable-Diffusion-1NginxNginxhtpasswdhtpasswd-bc/etc/nginx/password${UserName}说明:${UserNameadmin;'${Password}'请替换为ECS@test1234。NgnixsystemctlsystemctlrestartNgnixsystemctlsystemctlstatusNgnixNgnixsystemctlsystemctlenableWebUIWebUInohup./run_taiyi.sh1WebUIhttp://<ECSIP50000,在弹出的登录对话框,输入5创建的用户和密码,单击登录。AiccTorch30sAiccTorch在对话框中输入关键字,如铁马冰河入梦来,概念画,科幻,玄幻,3D/Generate(您可以尝试多次Generate,生成更符合需求的图片)inUnettospeedupthewholenetworkinferencewhenloadingmodels单击应用设置/ApplysettingsWebUI/ReloadUI。2.04s)。在步骤下载并配置模型31个女孩,绿眼,棒球帽,金色头发,闭嘴,帽子,看向阅图者,短发,简单背景,单★,上半身,T水彩,漫画,扫描件,简朴的画作,动画截图,3D快速搭建AI快速搭建AI ChatGLM-6B是一个开源的、支持中英双语对话的语言模型,它基于GeneralLanguageModel(GLM)架构,具有62亿参数;并使用了和ChatGPT相似的技术,经过约1T标GPUChatGLM-6BAIECSECSecs.gn7i-c16g1)4xlargeECS50001添加安IPWebUIrootECS体操作,请参见Linux。执行如下命令,下载ChatGLM-6B模型。cdcd/root/chatglmgit-lfsclonehttps://huggingface.co/THUDM/chatglm-WebUIstreamlitrunweb_demo2.py--server.port50001http://<ECSIP50001WebAIAIGC3DAIGC3D AIGC3DGPT-4发布后,AIGC(AIGeneratedContent,AI生成内容)时代正扑面而来,从单一的文字文本,演化到更丰富的图片、视频、音频、3DHRN3D模型。关于模型的详细信息,请参见HRN★脸重建模型。ECSECSecs.gn7i-c16g1)4xlargeECS50000添加安IPWebUIrootECS体操作,请参见Linux。执行如下命令,下载v1-5-pruned-emaonly.safetensors模型。wget"https://huggingface.co/runwayml/stable-diffusion-v1- NginxNginxhtpasswd-bc/etc/nginx/password${UserName}htpasswd-bc/etc/nginx/password${UserName}NgnixsystemctlsystemctlrestartNgnixsystemctlsystemctlstatusNgnixNgnixsystemctlsystemctlenable3D3Dhttp://<ECSIP50000,在弹出的登录对话框,输入3ElonElonMarkMarkZuckerberg,mugshot,withaserious3D执行如下命令,切换conda环境到modelscopecondacondaactivate执行如下命令,切换到scriptscdcd取带格式的头像图片名称(例如image.png)用于生成3D模型。具体操作,请参见上传说明:ai-inference-solution镜像中自带了头像图片(存放于root/scripts中),您也可以跳过该步骤,直接使用该镜像中的图片,试玩头像图片生成3D模型。4)3Dimage.png(请根据实际需求替换)./faceTo3D.py./faceTo3D.py100Mbps23Droot/scripts/outputobj、.mtl、.jpgAIGCAIGC AIGCGPT-4发布后,AIGC(AIGeneratedContent,AI生成内容)时代正扑面而来,从单一的文字文本,演化到更丰富的图片、视频、音频、3DGPUUnet3DECSECSecs.gn7i-c16g1)4xlargeECS50000添加安IPWebUIrootECS体操作,请参见Linux。执行如下命令,下载v1-5-pruned-emaonly.safetensors模型。wget"https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/maiNginxhtpasswd-bc/etc/nginx/passwordhtpasswd-bc/etc/nginx/password${UserName}NginxsystemctlsystemctlrestartNginxsystemctlsystemctlstatusNginxNginxsystemctlsystemctlenablerootECS体操作,请参见Linux。执行如下命令,切换conda环境到modelscopecondacondaactivate执行如下命令,切换到scriptscdcdClownfishswimmingthroughthecoral说明:首次执行脚本时,会通过公网自动下载所需模型库,100Mbps20文件下载:在左上角菜单栏,选择文件>打开新文件树,找到目标文件后右键,单击基于AIACC加速器快速实现基于AIACC加速器快速实现LLaMA-7B指令微调 AIACCLLaMA-7BLLaMA(LargeLanguageModelMetaAI)是MetaAI在2023年2月发布的开放使用预训练语言模型(LargeLanguageModel,LLM),其参数量包含7B到65B的集合,LLM具有建模大量词语之间联系的能力,但是为了让其强大的建模能力向下游具体任务输"instruction":"Giventhefollowinginput,findthemissingnumber","input":"10,12,14, ,18","output":AlpacaLLaMA-7B模型进行指令微调得到的模型,其训练过程中采用的通过指LLaMA-7BAlpaca提供了一套LLaMA-7B模型,基于DeepSpeed进行指令微调训练,并AIACCAIACCACSpeedAGSpeedAIACC-ACSpeed(简称ACSpeed)网络层上分别实现了与开源主流分布式框架的ACSpeed什么是AI分布式训练通信优化库AIACC-AGSpeed(简称AGSpeed)是阿里云PyTorchPyTorch模型在阿里云GPU异构计算实例上的计算性AIACC-AGSpeedVPCecs.gn7i-c32g1)32xlargeECSECS。VPC创建专有网络和创建交换机ECS2ECSFastGPUecs.gn7i-c32g1)32xlarge(4NVIDIAA10GPU)说明:您也可以选择公共镜像(CentOS7.964),后续手动部署环境5Mbps。ECS7860WebUI。具体7860IPWebUI。您可IPWebUI。使用Workbench连接实例。如果使用示例的云市场镜像进行测试,由于环境安装在/rootrootECSLinux。FastGPU说明:FastGPULinuxmacOSWindowsFastGPUFastGPUpip3pip3install--force-reinstallhttps://ali-perseus-release.oss-cn-exportxport#填入您的AccessKey#填入您的AccessKeyexportALIYUN_DEFAULT_REGION=cn-beijing#填入您希望使用的地域exportxport#填入您的AccessKey#填入您的AccessKeyexportALIYUN_DEFAULT_REGION=cn-beijing#填入您希望使用的地域ECS命令示例如下,表示创建一台名为aiacc_solutionECS实例,实例规格为ecs.gn7i-c32g1)32xlargeaiacc_train_solution。es1es1--image_typefastgpufastgpuaddip-7860WebUIfastgpuaddip{aiacc_solution}/07860IPfastgpuaddip{aiacc_solution}/0SSHECSfastgpusshinstance_nameECSfastgpufastgpusshFastGPU命令行使用说明ECSmkdir/root/LLaMA&&mkdir/root/LLaMA&&cdyuminstall-yninja-buildcentos-release-scldevtoolset-7git-lfssource/opt/rh/devtoolset-7/enableecho"source/opt/rh/devtoolset-7/enable">>配置gitgitgitconfig--unset--globalgitconfig--unset--globalstanford_alpacagitgitclonehttps://github)com/tatsu-Condawgethttps://repo.anacondawgethttps://repo.anaconda)com/miniconda/Miniconda3-py39_23)1)0-1-Lin安装后执行source~/.bashrc生效环境变量,如果命令行前缀出现(baseCondacondacondacreate-nllama_trainpython=3.9condaactivatellama_train13.1--extra-index-url/whl/cu117pipinstalldeepspeed==0.8.3pipinstallpipinstallacceleratecdstanford_alpacapipinstall-rpdshwgetwget/google-code-archive-downloads/v2/copdsh/pdsh-2.29.tar.bz2tar-jxvfpdsh-2.29.tar.bz2cdpdsh-2.29./configure--with-ssh--with-rsh--with-mrsh--with-mqshell--with-qshell--with-dshgroups--with-machines=/etc/pdsh/machines--without-pammakecdwget/aiacc/aipipinstallwget/aiacc/aipipinstallaiacc-b)使用AIACCimporttorchimportimporttorchimport说明:AIACCAIACCexportAIACC_DISABLE=1AIACC,可以执行unsetAIACC_DISABLE安装WebUIcdcd/root/LLaMAgitclonehttps://github)com/oobabooga/text-generation-webuicdtext-generation-webuigitreset--hardd154c93d5b830pipinstall-rtmuxtmuxsessionyumyuminstalltmuxsessionECSCondacondacondaactivateb)修复官方代码Bugsedsed-i"s/LLaMATokenizer/LlamaTokenizer/1"./llama-7b-3)创建并设置DeepSpeed配置文件。cdcdcat<<EOF|sudotee"zero_optimization":{"stage":3,"contiguous_gradients":true,"stage3_prefetch_bucket_size":0,"stage3_param_persistence_threshold":1e2,"reduce_bucket_size":1e2,"sub_group_size":1e8,"offload_optimizer":{"device":"cpu","pin_memory":true"offload_param":{"device":"cpu","pin_memory":true"prescale_gradients":true"fp16":{"enabled":true,"auto_cast":false,"loss_scale":0,"train_batch_size":"auto","train_micro_batch_size_per_gpu":"auto","wall_clock_breakdown":false,"zero_force_ds_cpu_optimizer":falseECScat>hostfile{private_ip2}slots=4ECS(GPU8)cat>hostfile{private_ip2}slots=46)启动训练的命令脚本如下,alpaca_data)json为指令数据集文件,$MASTER_PORT请替2000-65535--output_dir./output--report_tonone--num_train_epochs1--save_steps400--save_total_limit2--learning_rate2e-5--weight_decay0.--warmup_ratio0.03--logging_steps1--tf32False--bf16FalseECSECStmuxattachtmuxsession,查看训WebUIcondaactivatecondaactivatecheckpointcdcd/root/LLaMA/text-generation-webuiln-s/root/LLaMA/llama-7b-hfWebUIpythonpython/root/LLaMA/text-generation-webui/server.py--modelllama-7b-ECSIP7860101200.XX.XX:7860Input(建议输入英语)GenerateOutputECSCondacondacondaactivatecheckpointln-s/root/LLaMA/stanford_alpaca/output/checkpoint-800./models/llama-WebUIpythonpython/root/LLaMA/text-generation-webui/server.py--modelllama-7b-800--ECSIP7860101200.XX.XX:7860f)ModelModel模型列表中,选择指令微调后模型(如本文的Successfullyloadedllama-7b-hf-800g)Input(建议输入英语)GenerateOutputAIACC2ecs.gn7i-c32g1)32xlargeECS(2*4NVIDIAA10GPU),DeepSpeedAIACCs/ititerationAIACCDeepSpeed35%左右。说明:训练完成后,您可以在/root/LLaMA/stanford_alpaca/wandb/latest-run/files/output.log使用DeepSpeed进行训练使用DeepSpeed+AIACCAIACCAIACCStableDiffusion 基于AIACCStableDiffusionDreamBooth是一种定制化text2image模型的方法,只需提供特定物体的3~5张图片,就能生成该物体的图片。我们使用DreamBooth对模型进行Finetune,并利用阿里云AI加速器中的AIACC-AGSpeed加速Finetune,同时引入ControNet增加生成图片的多样训练Condition包括:CannyEdge,M-LSDLines,HEDBoundary,UserScribbles,FakeScribbles,HumanPose,SemanticSegmentation,Depth,NormalMap,AnimeLineDrawing。您可以同时添加多个ControlNetCondition的控制。训练其他ConditionSDTrainaControlNettoControlSD。ECS2ECSFastGPU1)ECSECSecs.gn7i-c8g1)2xlarge(NVIDIAA10)ECS7860添加安7860IPWebUI。您可IPWebUI。FastGPU说明:FastGPULinuxmacOSWindowsFastGPU是一套阿里云推出的★工智能计算极速部署工具。您可以通过其提供的便捷的接口和自动工具,实现★工智能训练和推理任务在阿里云IaaS资源上的快速部署。关于FastGPU命令行使用说明。ECSCloudShellFastGPUFastGPUpip3pip3install--force-reinstallhttps://ali-perseus-release.oss-cn-AccessKey(AccessKeyIDAccessKeySecret)的具体操作,请参见AccessKey。ECSECSexportexportALIYUN_ACCESS_KEY_ID=****填入您的AccessKeyexportALIYUN_ACCESS_KEY_SECRET=****#填入您的AccessKeySecretexportALIYUN_DEFAULT_REGION=cn-beijing填入您希望使用的地域(Region)ECS1ecs.gn7i-c32g1)32xlargeECSfastgpucreate--namefastgpucreate--nameaiacc_solution-iecs.gn7i-c32g1)32xlarge--machines1--image_typeaiacc_train_solutionfastgpufastgpuaddip-78607860IPWebUI。/0IPWebUI。fastgpufastgpuaddip{aiacc_solution}/0SSHECS通过task{N}.aiacc_solution命令可以连接到创建的ECStask{N}Nfastgpufastgpusshsd_dreambooth_extension,并将该项目代码放到/root/stable-diffusion-webui/extensionswgetwgethttps://ali-perseus-release.oss-cn-/train_dreambooth.py-O/root/stable-diffusion-webui/extensions/sd_dreawgethttps://ali-perseus-release.oss-cn-/utils.py-O/root/stable-diffusion-webui/extensions/sd_dreambooth_extewgethttps://ali-perseus-release.oss-cn-/image_utils.py-O/root/stable-diffusion-webui/extensions/sd_dreambootwgethttps://ali-perseus-release.oss-cn-/log_parser.py-O/root/stable-diffusion-WebUIrootECSLinuxWebUI重要:WebUI服务启动后请不要关闭,否则无法访问WebUI页面。cdcd/root/stable-diffusion-webuisource/root/stable-diffusion-/bin/activatepython./launch.py--listen--port7860--enable-insecure-extension-access--disable-safe-unpickle--xformersWebUIECSECSIPhttp://<ECSIP7860WebUIFinetune单击DreamBooth页签,在Model区域,单击Create输入待生成的模型权重名称,例如:aliyun_exampleCreateModel/root/stable-diffusion-webui/models/dreambooth/aliyun_example/workingSelectaliyun_exampleInputSettingsUseLORATrainingStepsPerImageEpochs100,可根据实BatchSize112如果您希望Finetune流程更快,可将SaveModelFrequency(EpochsSavePreview(s)Frequency(Epochs)参数值调大(如果设置的值较小,可能会导致Finetune时间较长且不稳定),EpochsEpochsEpochs*N。GradientCheckpointingOptimizerTorchAdamW,MixedPrecisionfp16no,MemoryAttentionxformersnoMixedPrecisionfp16xformersInputConceptsDatasetDIrectoryECSTrainingPromptsSamplePromptsInstancePrompt:输入对数据集物体的描述,格式例如:aayunxiaobaodoll。ClassPrompt:输入数据集物体的类别,格式例如:aaSampleImagePromptInstancePrompt参数一致的内容。本示例输入ayunxiaobaodoll。3Output使用Dreambooth生成图片模型权重。例如:aliyun_example/aliyun_example_400_lora)safetensorstxt2imgPromptFinetuneInstancePrompt例如:ayunxiaobaodoll。Batchcount1GenerateSaveZipDownload如果您选择Finetune前的模型权重v1-5-pruned-emaonly.safetensors6ce0161689],FinetuneFinetuneFinetune使用Dreambooth+新的promptDreamboothPromptayunxiaobaodollayunxiaobaodollwearingaredhat,可以生成戴着txt2imgPromptayunxiaobaodollwearingaredhatGenerate使用DreamBooth+ControlNetDreamboothControlNetControlNetPrompt+ControlNetConditionCondition选中Enable,单 按钮,在Preprocessor下拉选项中选择Openpose在Model下拉选项中,选择control_sd15_openposeCondition的不同,PreprocessorModel的选择也不同,Openpose相关选项用DreamboothGenerateECSecs.gn7i-c32g1)32xlarge(4A10),Finetune4TrainingStepsPerImage(Epochs200eagerAIACC-AGSpeedeager(原生训练方式AIACC-AIACC-AGSpeedSaveModelFrequency(Epochs)和SavePreview(s)Frequency(Epochs)设置为1000,以减少保存文件的时间对整体时间统计的18%。WebUITrainingStepsPerImageEpochs100150200SaveModelFrequencyEpochs251000SavePreview(sFrequencyEpochs51000使用Megatron-Deepspeed训练使用Megatron-Deepspeed训练GPT-2并生成文本 Megatron-DeepspeedGPT-2GPT-2OpenAI2018GPTNLP练的情况下,完成阅读理解、问答、机器翻译等多项不同的语言建模任务。GPT-2模型尤GPT-2TransformerGPT-2Megatron-Deepspeed框架结合了两种主要技术:Megatron-LMNVIDIATransformerDeepSpeedMicrosoftDeepSpeedDeepSpeed库中的ZeRO(ZeROsharding(DataParallelism)(PipelineParallelism)Megatron-LM(TensorParallelism)3DMegatron-Deepspeed,本文基于阿里云GPU服务器,使用Megatron-Deepspeed框架训练GPT-2模型并生成ECSECSECSecs.gn7i-c8g1)2xlarge(NVIDIAA10)Megatron-DeepspeedrootECSLinuxdockerdockerrun-d-t--network=host--gpusall--privileged--ipc=host--ulimitmemlock=-1--ulimitstack=67108864--namemegatron-deepspeed-v/localtime:/etc/localtime-v/root/.ssh:/root/.sshdockerdockerexec-itmegatron-deepspeed执行以下命令,下载Megatron-DeepSpeedgitgitclonehttps://github)com/bigscience-workshop/Megatron-执行以下命令,安装Megatron-DeepSpeedcdcdMegatr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论