我用的阿里云服务器运行了ChatGLM,现在我想结束他的运行释放他占用的显存,我应该如何做?

运行一次就占用一部分,运行一次就占用一部分,但是好像停不掉正在运行的GLM模型,显存一直占用着

img

源于chatGPT仅供参考

要结束正在运行的ChatGLM模型并释放显存,您可以按照以下步骤进行操作:

1. 找到运行ChatGLM模型的终端或命令行界面。

2. 在终端或命令行界面中,按下"Ctrl+C"组合键,这将发送一个中断信号给正在运行的程序。

3. 等待一段时间,让系统处理中断信号并停止运行模型。这可能需要一些时间,具体取决于您的系统和运行的模型规模。

4. 检查显存的使用情况:使用适当的工具(如nvidia-smi)检查GPU显存的使用情况,确保已经释放了被占用的显存。运行以下命令来查看当前的显存使用情况:


   nvidia-smi


   如果显存没有及时释放,请继续执行以下步骤。

5. 杀死相关进程(可选):如果模型仍然在运行并且未能释放显存,您可以尝试手动杀死相关的进程。在命令行界面中运行以下命令以杀死进程:

  
   sudo fuser -v /dev/nvidia*
   

   这将显示正在使用GPU资源的进程,并提供相应的PID(进程ID)。然后使用`kill`命令加上PID来杀死该进程,例如:

  
   kill -9 <PID>


   注意:请小心使用`kill -9`命令,因为它会强制终止进程。

6. 再次检查显存的使用情况:重复步骤4,确保显存已经完全释放。

请注意,以上步骤可能因操作系统和所使用的GPU驱动程序而有所不同。根据您的环境和需求,您可能需要参考适当的文档或咨询相关的技术支持来执行这些操作。

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这篇博客: 类ChatGPT项目的部署与微调(下):从ChatGLM-6b到ChatDoctor中的 5.1.3 GLM的预训练和微调 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    作者使用了两个预训练目标来优化GLM,两个目标交替进行:

    • 文档级别的预测/生成:从文档中随机采样一个文本片段进行掩码,片段的长度为文档长度的50%-100%
    • 句子级别的预测/生成:从文档中随机掩码若干文本片段,每个文本片段必须为完整的句子,被掩码的词数量为整个文档长度的15%

    尽管GLM是BERT、GPT、T5三者的结合,但是在预训练时,为了适应预训练的目标,作者还是选择掩码较长的文本片段,以确保GLM的文本生成能力,并在微调的时候将自然语言理解任务也转化为生成任务,如情感分类任务转化为填充空白的任务

    • 输入:{Sentence},prompt:It is really [M] ,对应的标签为good和bad

    此外,模型架构层面,除了整体基于Transformer之外

    1. 重新排列了层归一化和残差连接的顺序
    2. 针对token的输出预测使用单一线性层
    3. 用GeLU替换ReLU激活函数

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^