ROCm
文章平均质量分 93
ROCm (Runtime for Open Computing on AMD) 是一个开源平台,用于支持在 AMD GPU 上进行高性能计算和深度学习。ROCm 提供了类似于 NVIDIA CUDA 的编程模型,使开发者能够利用 AMD GPU 的强大计算能力。ROCm 还与多种开源工具和库兼容。
109702008
数字人-幺洞勾拐洞两洞洞八
展开
-
unpermute_kernel_backward<<<num_blocks, block_size>>>(scratch, dout, B, T, NH, HS);
这行代码是用来调用一个名为unpermute_kernel_backward`的CUDA kernel,其中`num_blocks`是grid中block的数量,`block_size`是每个block中thread的数量。其中`hipLaunchKernelGGL`是用于启动kernel的宏,`dim3(num_blocks)`和`dim3(block_size)`指定了block和grid的维度,后面的两个0分别对应了共享内存大小和流(stream),尽管这里它们被设置为0,表示使用默认值。原创 2024-05-30 18:46:43 · 387 阅读 · 0 评论 -
ROCm上运行自然语言推断:微调BERT
SNLIBERTDataset类处理SNLI数据库的数据,用于BERT的使用,分词数据集中的前提和假设,并创建相应的令牌ID和段ID作为模型的输入。- 使用`d2l`的`train_ch13`函数来训练模型,传入定义的网络、训练和测试迭代器、损失函数、训练器、训练周期数和设备配置。10. 使用定义的训练迭代器、损失函数、优化器以及`d2l`提供的训练工具来对SNLI数据库中的BERT分类器模型进行训练。2. 从指定的`d2l.DATA_HUB`下载预训练模型(BERT基础版和BERT小型版)。原创 2024-05-17 07:09:21 · 934 阅读 · 0 评论 -
ROCm上运行深度卷积神经网络(AlexNet)
如果你要在支持ROCm的AMD GPU上运行深度学习模型(例如AlexNet),你需要确保ROCm已经安装在你的系统中,并且PyTorch与ROCm兼容。它使用PyTorch框架中的API来实现,并且模仿了AlexNet的一般结构,这是一个著名的网络结构,常用于图像识别任务。然而,确保环境设置正确是至关重要的。3. 查看各层输出:通过遍历网络的每一层,输入一个随机生成的数据`X`(尺寸为1x1x224x224,代表一批大小为1的224x224像素的单通道图像),并打印各层的输出形状。原创 2024-05-17 07:02:59 · 644 阅读 · 0 评论 -
train_gpt2_fp32.cu - main
为了将这个程序转换为能够在AMD GPU上运行的代码,你需要使用AMD提供的相应工具和库,特别是ROCm (Radeon Open Compute) 平台,它是AMD GPU上的开源计算平台。HIP 是 AMD 的一种编程模型,类似于 CUDA,用于编写可在 AMD 或 NVIDIA GPU 上执行的代码。要将现有的 CUDA 代码转换为适用于 AMD GPU 平台的代码,你需要使用 AMD 的 ROCm 平台,并用 HIP 进行编程,它可以自动将 CUDA 代码转换为 AMD GPU 可支持的代码。原创 2024-05-16 07:33:07 · 982 阅读 · 1 评论 -
AMD W7900本地大型语言模型的微调
将展示如何使用模型,并结合数据集进行微调。原创 2024-05-16 07:00:29 · 836 阅读 · 0 评论 -
本地运行《使用AMD上的SentenceTransformers构建语义搜索》
从头开始训练一个SentenceTransformers模型包括一个过程,即教导模型理解和编码句子为有意义的、高维度的向量。在这篇博客中,专注于一个包含等价句子对的数据集。总的来说,培训过程的目标是让模型学习如何将语义上相似的句子映射在向量空间中的接近位置,同时将不相似的句子分隔开。与可能无法捕获某些领域或用例的特定性质的通用预训练模型相比,自定义训练模型确保模型能够精确调整以理解与特定领域或应用相关的上下文和语义。感兴趣的是执行非对称语义搜索。在这种方法中,模型承认查询和文档本质上可以是不同的。原创 2024-05-14 09:06:10 · 1086 阅读 · 2 评论