THUDM / GLM-4

GLM-4 series: Open Multilingual Multimodal Chat LMs | 开源多语言多模态对话模型
Apache License 2.0
4.45k stars 340 forks source link

利用Ollama部署的GLM4在进行信息识别任务时输出大量G #323

Closed letdo1945 closed 4 days ago

letdo1945 commented 1 month ago

System Info / 系統信息

Ollama 2.1.0 Windows preview RTX4090 D

Who can help? / 谁可以帮助到您?

No response

Information / 问题信息

Reproduction / 复现过程

代码内容

import ollama
from tqdm import tqdm
import ollama
import pandas as pd

model = 'glm4' #glm4

def LLM_Process(model, sys_prom, usr_prom):
    messages = [
        {'role': 'user', 'content': usr_prom},
        {'role': 'system', 'content': sys_prom}
    ]
    resp = ollama.chat(model, messages)
    try:     
      out = resp['message']['content']
      return out
    except AttributeError:
        # 可能是信息太长或有违规信息
        print("跳过处理。")
        return None

inputdir = 'D:/NLP/Ollama/data/crime_data.csv'
outputdir = 'D:/NLP/Ollama/data/processed_data.txt'

sysP = '你是一名犯罪地理学家,在不编写代码的前提下,请在我提供给你的法律文书中辨析其中犯罪发生的的地址信息以及相关事件,并回复我一个包含key“UUID”“address”“event”的json格式文本,如果这段文字中不包含地址信息或事件信息,key下的内容写“0”即可,你回复给我的内容只需要这段包含核心信息的json文本,不需要其他的任何文本,即使文本中没有可用的内容。如果提供给你的文本没有可用的内容,你在每个key下的内容都设为0即可,切记不要假设一个虚构的文书信息,这会产生重大错误'

allin = pd.read_csv(inputdir)
keys = ['UUID', '正文']
usrP = []
for index, row in tqdm(allin.iterrows(),total = allin.shape[0]):
    content1 = row[keys[0]]
    content2 = row[keys[1]]
    usrP.append(f"{keys[0]}:{content1}, {keys[1]}:{content2}")

with open(outputdir, "w", encoding="utf-8") as file:
    for text in tqdm(usrP[:100], total=100):
        out = LLM_Process(model, sysP, text)
        if out is not None:
            file.write(out + "\n")
print('process over')

因保密协定,Prompt中提到的法律文书信息不能提供,正文内容参考一般法律裁判文书即可。

模型输出(此问题在本机可以稳定复现)

{
  "UUID": "2",
  "address": {
    "法院地址": "江苏省南京市六合区",
    "犯罪地点1": "我市XX区XX街XX通信广场负一楼(具体街道和商场名称缺失)",
    "其他相关地点": []
  },
  "event": [
    "诈骗罪",
    "盗窃罪"
  ]
}
{
  "UUID": "11",
  "address": [
    "本市鼓楼区",
    "本市玄武区"
  ],
  "event": [
    "盗窃华为手机一部",
   GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
```json
{
  "UUID": "21",
  "address": "南京市栖霞区某某悦X栋XX号某某美容美GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
```json
{
  "UUID": "22",
  "address": "南京市栖霞区GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
```json
{
  "UUID": "24",
  "address": [
    "本区GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
```json
{
  "UUID": "42",
  "address": "南京市栖霞区迈皋桥弘阳家居美的专卖店",
  "event": "盗窃罪"
}
{
  "UUID": "43",
  "address": [
    "南京市浦口区新浦路与河滨路路口附近的林景尊园工地",
    "南京市浦口区团结路与张墩路路口附近的中海原山工地",
    "南京市浦口区康安路与新浦路路口附近的新城金陵樾工地",
    "浦口区雨山路地铁站附近的保利云禧工地"
  ],
  "event": [
    "盗窃工地内被害人胡某的扣件",
    "盗窃工地内被害人张某的扣件",
    "盗窃工地内被害人侯某的扣GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
```json
{
  "UUID": "0",
  "address": "0",
  "event": "0"
}
{
  "UUID": "47",
  "address": "南京市鼓楼区",
  "event": "盗窃罪"
}
{
  "UUID": "48",
  "address": "南京市栖霞区某某西村XXX号",
  "event": "被告人刘某至南京市栖GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
```json
{
  "UUID": "51",
  "address": "南京市高淳区××街道××路××号中交荣域小区",
  "event": "盗窃罪"
}
{
  "UUID": "52",
  "address": "南京市栖霞区XX路XXXX小区",
  "event": "盗窃"
}
{
  "UUID": "59",
  "address": "江苏省南京市鼓楼区",
  "event": "盗窃罪"
}
{
  "UUID": "64",
  "address": "南京市江宁区东山街道玉堂巷中心花园",
  "event": "盗窃罪"
}
{
  "UUID": "71",
  "address": "南京市栖霞区东江村",
  "event": "盗窃罪"
}
{
  "UUID": "73",
  "address": [
    "南京市栖霞区红梅村栖霞大道与312国道的交界涵洞处嘉盛公司工地",
    "南京市栖霞区龙潭港区旁龙潭大道南约五十米处南京力高建筑有限公司工地"
  ],
 GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
```json
{
  "UUID": "76",
  "address": [
    "南京市江宁区长兴大街1202号盛江商业街自动扶梯处",
    "南京市秦淮区太平南路330号肯德基店",
    "南京市建邺区万达广场",
    "南京市江宁区大市口回味鸭血粉丝店",
    "南京市秦淮区石鼓路33号肯德基店"
  ],
  "event": [
    "盗窃作案五起"
  ]
}

{
  "UUID": "78",
  "address": [
    "南京市建 GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
{"UUID":"0","address":"0","event":"0"}
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG

### Expected behavior / 期待表现

望查明原因,是GLM4的问题还是Ollama的问题
MrNiebit commented 1 month ago

image 一样的问题,用的ollama部署的

arkerwu commented 1 month ago

一样的问题,GGG

seasoncool commented 1 month ago

一樣的問題。

letdo1945 commented 1 month ago

此问题于Ollama 0.2.3版本修复,随后0.2.5版本又出现了,并且问题更加严重

zRzRzRzRzRzRzR commented 1 month ago

先更大哦0.2.3,感觉好像是llama cpp的问题,我们还在排查中

feihuamantian commented 1 month ago

https://github.com/OpenGVLab/InternVL/issues/351

yhnz1234 commented 3 weeks ago

是ollama的问题,但我是版本3,有时候也有这个问题,但换个模型就好了

WOAI704 commented 3 weeks ago

尝试开一下flash attention

AeneasZhu commented 2 weeks ago

尝试开一下flash attention

如何在ollama开启flash attention呢?直接添加一个环境变量吗?

ywu2014 commented 2 weeks ago

ollama开启flash attention后没有GGGG了,但是推理速度很慢,纯CPU推理要2分多钟才出结果,开启flash attention之前秒级出结果。。。

zRzRzRzRzRzRzR commented 2 weeks ago

flash attn是给GPU加速的吧,cpu是慢