microsoft / LLMLingua

To speed up LLMs' inference and enhance LLM's perceive of key information, compress the prompt and KV-Cache, which achieves up to 20x compression with minimal performance loss.
https://llmlingua.com/
MIT License
4.41k stars 240 forks source link

When I use chinese llama, the compressed prompt has garbled code #4

Open seanzhang-zhichen opened 10 months ago

seanzhang-zhichen commented 10 months ago

model name: Llama2-Chinese-7b-Chat

instruction = "请你对以下文本进行摘要" question = "" input:依达拉奉右莰醇是一种新型的神经保 护剂,包括依达拉奉和右莰醇,一种在动物 缺血性卒中模型中具有抗炎作用的食品添加 剂。这项研究旨在评估与依达拉奉相比,依 达拉奉右莰醇醇在治疗急性缺血性卒中 (AIS)患者中的安全性和有效性。\n方法 在这项多中心,随机,双盲,多剂量, 主动对照的II期临床试验中,卒中发作后48小 时内AIS患者被随机分配(1:1:1:1)低剂 量( 12.5毫克),中剂量(37.5毫克)或高剂 量(62.5毫克)依达拉奉右莰醇组,以及一个 活动对照组,每12小时静脉输注30毫克依达 拉奉,连续14天。主要疗效结果是改良的 Rankin量表(mRS)分数在90天时≤1的比例 以及美国国立卫生研究院卒中量表(NIHSS) 评分从基线到随机分组后14天的变化。安全 结果包括治疗后90天内的任何不良事件。\n结果 纳入疗效分析的385例患者中,随机分为 低剂量组94例,中剂量组97例,高剂量组98 例,对照组96例。在90天的mRS评分 (mRS≤1,p = 0.4054)或14天的NIHSS评分 变化(p = 0.6799)的四组之间没有观察到显 著差异。但是,在中等剂量组(69.39%)和 高剂量组(65.63%)中,在90天时mRS评分 ≤1的患者所观察到的百分比高于对照组 (60.64%)。在四组中,没有发现严重不良事件的显著差异(p = 0.3815)。结论 与单独使用依达拉奉相比,依达拉奉 右莰醇在所有剂量下均安全且耐受性良好, 尽管在90天时未观察到功能性转归明显改 善。', 'paragraph': '摘要\n背景 依达拉奉右莰醇是一种新型的神经保 护剂,包括依达拉奉和右莰醇,一种在动物 缺血性卒中模型中具有抗炎作用的食品添加 剂。这项研究旨在评估与依达拉奉相比,依 达拉奉右莰醇醇在治疗急性缺血性卒中 (AIS)患者中的安全性和有效性。\n方法 在这项多中心,随机,双盲,多剂量, 主动对照的II期临床试验中,卒中发作后48小 时内AIS患者被随机分配(1:1:1:1)低剂 量( 12.5毫克),中剂量(37.5毫克)或高剂 量(62.5毫克)依达拉奉右莰醇组,以及一个 活动对照组,每12小时静脉输注30毫克依达 拉奉,连续14天。主要疗效结果是改良的 Rankin量表(mRS)分数在90天时≤1的比例 以及美国国立卫生研究院卒中量表(NIHSS) 评分从基线到随机分组后14天的变化。安全 结果包括治疗后90天内的任何不良事件。\n结果 纳入疗效分析的385例患者中,随机分为 低剂量组94例,中剂量组97例,高剂量组98 例,对照组96例。在90天的mRS评分 (mRS≤1,p = 0.4054)或14天的NIHSS评分 变化(p = 0.6799)的四组之间没有观察到显 著差异。但是,在中等剂量组(69.39%)和 高剂量组(65.63%)中,在90天时mRS评分 ≤1的患者所观察到的百分比高于对照组 (60.64%)。在四组中,没有发现严重不良事件的显著差异(p = 0.3815)。结论 与单独使用依达拉奉相比,依达拉奉 右莰醇在所有剂量下均安全且耐受性良好, 尽管在90天时未观察到功能性转归明显改 善。 介绍\n卒中是导致死亡和成年后残疾的主要原因, 在中国产生巨大的经济负担。但是,许多神 经保护剂在治疗急性缺血性卒中(AIS)的患 者中没有显示出任何益处,因此寻找新的方 法势在必行。依达拉奉是一种有效的自由基 清除剂,被中日两国卒中护理指南推荐用于 AIS治疗。依达拉奉清除自由基,例如羟基 自由基(·OH),一氧化氮自由基(NO·)和 过氧亚硝酸盐阴离子(ONOO-)以此缓解脑 水肿并抑制迟发性神经元死亡。然而,脑缺 血性损伤极为复杂,涉及自由基和炎症反应。 右莰醇可抑制炎症相关蛋白的产生或表达, 并防止脑损伤或损伤。依达拉奉右莰醇是一 种新型神经保护剂,它以4:1的比例包含依 达拉奉和右莰醇,可能具有更好的治疗效果。 依达拉奉和右2-樟脑酚之间存在互补性。 依达拉奉联合右莰醇的药理研究表明,与单 独使用依达拉奉相比,依达拉奉右莰醇具有 协同作用和更长的治疗时间窗,表明依达拉 奉右莰醇对脑缺血的保护作用优于市售的依 达拉奉。当前的多中心,随机,主动对照, 双盲研究旨在验证依达拉奉右莰醇对AIS患者的疗效和安全性。', 'paragraph': '介绍\n卒中是导致死亡和成年后残疾的主要原因, 在中国产生巨大的经济负担。但是,许多神 经保护剂在治疗急性缺血性卒中(AIS)的患 者中没有显示出任何益处,因此寻找新的方 法势在必行。依达拉奉是一种有效的自由基 清除剂,被中日两国卒中护理指南推荐用于 AIS治疗。依达拉奉清除自由基,例如羟基 自由基(·OH),一氧化氮自由基(NO·)和 过氧亚硝酸盐阴离子(ONOO-)以此缓解脑 水肿并抑制迟发性神经元死亡。然而,脑缺 血性损伤极为复杂,涉及自由基和炎症反应。 右莰醇可抑制炎症相关蛋白的产生或表达, 并防止脑损伤或损伤。依达拉奉右莰醇是一 种新型神经保护剂,它以4:1的比例包含依 达拉奉和右莰醇,可能具有更好的治疗效果。 依达拉奉和右2-樟脑酚之间存在互补性。 依达拉奉联合右莰醇的药理研究表明,与单 独使用依达拉奉相比,依达拉奉右莰醇具有 协同作用和更长的治疗时间窗,表明依达拉 奉右莰醇对脑缺血的保护作用优于市售的依 达拉奉。当前的多中心,随机,主动对照, 双盲研究旨在验证依达拉奉右莰醇对AIS患者的疗效和安全性。 方法\n研究设计\n 该研究被设计为2013年5月至2015年2月在中国28个中心 进行的II期,多中心,随机,双盲,多剂量,主动对照的 临床试验。患者在获得知情同意后被分配治疗。 output: {'compressed_prompt': "请你对以上文本进行摘要\n\n��达������种的保,,种在物 �中的这�����中)\n法 项�,�, 动�的II�后小内A者配)�(()�����组及 活动每0克�,�是改良的in(m)数0时1的例 及院�中 分从到。�后 入,分 量组8的分RSp.)或HSS 9)的有在6在时 者的在 与达�� �在�时到�。 '要�达�保,, 的 达��在中\n项 小内配)��的in时及 分从。4的分RS,的的有者的在� �在�到�改\n多�被,�以�� 生��一和右��单有间于 � '�神于右。\n方法\n研究设计\n 该研究被设计为2013年5月至2015年2月在中国28个中心 进行的II期,多中心,随机,双盲,多剂量,主动对照的 临床试验。患者在获得知情同意后被分配治疗。\n\n", 'origin_tokens': 2787, 'compressed_tokens': 306, 'ratio': '9.1x', 'saving': ', Saving $0.1 in GPT-4.'}

### Tasks
iofu728 commented 10 months ago

Hi @seanzhang-zhichen, thank you for your attention and feedback on our project. This issue is caused by a bug in the tokenizer's decoding of Unicode. We will fix it soon and support multi-lingual processing in the future.

However, for this case, satisfactory results can still be achieved. For example, we can use NousResearch/Llama-2-7b-hf as a small language model, set the target_token to 600 (considering the removal of garbled words), and modify the instruction to "请你对以下文本进行摘要,并提供细节, "

We got the compressed prompt after removing the garbled words as, "请你对以下文本进行摘要,并提供细节, 依达拉奉右莰醇种的经保,,一种在物 性中中有的食加 。这究在与,在性中 (A)者的\n法 在项心,,,多剂量, 主动对的II期,卒中发作后小时内AIS者被配(11)䎂量( 15克()()组,及一个 活动,每时注克达,。要效果是改良的in量表(m)分数在0天时1的例 以及国国院中) 分从基线到机分组后1天的。安全 果后天内的何件\n果 纳入效的385例,分为 组9998,。在天的RS分 (RS1,p.405)或SS分 化p.679)的四组间有到显。在中等量组(69.39和6.6,在天时RS分 者所的比于组 (6.6。在,有现重的.381。 与用,在有量下全, 管在0时未到功性转显。 ' '要景种的保,,在中中的 。, 在性中)\n 在项,多 的期,后小配)(15)()則,动每注克达,。效是的inm在时的例 及国院中) 的 果后的何 入例组948,在的mRSRSp5或1的 组有显96 者所的比4在,有现重的p1。 与在在时是和年多神 经在中的 被中日理于,, (-)以 。及 生以4和,有右暉,更间,于。的,。 ' '是和多在的 日理,以 以4右于,\n方法\n研究设计\n 该研究被设计为2013年5月至2015年2月在中国28个中心 进行的II期,多中心,随机,双盲,多剂量,主动对照的 临床试验。患者在获得知情同意后被分配治疗。 " With an actual token number of 560, the compression ratio is 5x. After inputting the text into GPT-4,

Response = " 可能的摘要是:

可能的细节是:

Yongxin-Hu commented 9 months ago

I also encountered the same problem, I want to know when this bug can be repair.

iofu728 commented 9 months ago

I also encountered the same problem, I want to know when this bug can be repair.

Hi @Yongxin-Hu, I apologize, but due to bandwidth limits, we're currently unable to fix this issue.

However, you might consider replacing the base model with another language model like "Skywork" or "Yi" to address this problem.

cnmoro commented 8 months ago

I have noticed the same issue when trying to compress portuguese text (I used the Vicuna model, which works very well for this language).

Also, it appears that the GPTQ loading is broken:

ValueError: Found modules on cpu/disk. Using Exllama or Exllamav2 backend requires all the modules to be on GPU. You can deactivate exllama backend by setting disable_exllama=True in the quantization config object.

(I have device_map set as cuda)

qkxie commented 8 months ago

this issue still exists.

growmuye commented 7 months ago

同样碰到了这个问题,大概什么时间可以解决 llm_lingua = PromptCompressor("FlagAlpha/Llama2-Chinese-7b-Chat", device_map='cpu')

compressed_prompt = llm_lingua.compress_prompt(prompt, instruction="", question="", ratio=0.5) print(compressed_prompt)

{'compressed_prompt': '\n你是语义理解家,可以准确的解户的意图。请䆻"功能表",你的是在遵守以下"��则"和"输出"的下,据下面的"理"一���,��确的选�"能表"中的一个能。\n\n<表>\n能:����化 能:只提��化�,以及�关模�的化能,括优势亮点、求职期望、作经�、目经�、教育�。没有��������、查看��等他能。\n能:��业�� 能:只��对性的业�、��助、业分�和���。\n:试宝:据户的��位、业和作年限为�者�试的问题和识的��。\n能:����查� 能说:只����务。\n:��业测:只�TI测�,过�A,BCD四个项的式得出求�者的测�果。\n:搌:只�位,可以查�户想要的位。\n:�����:户对�品�意想要�或�。\n能:其他 能说:户打���、寒暄、询问�、附件箆、熿、导出�、下载�或��助户写�以及不于上的自由对话\n</能\n\n<理\n.请牢记户正在用的能:����位.请合"��史对"和户能,�合断户在想要��前的能是选�个新的能。\n</处理\n\n<���.��止�有的能.�格�"出"出,并�要�格守json.你的能要�格合能明\n.�����化有�����等他<��史对\n:掐内上司�位\n能助:```\n{"":], "��位":["���内上司位\n户:位\n能助:对,这�个出我力题我在有�法给你个�的回复,�力\n::{"�业�":"","地点":"��","司","业�":"司位":"","�","type":"位","分�程":"户要内市位,是和的��","�限","","限","�","定\n:�关位\n能:{"�业府/非利","司业��":"关位位","�","":"位","�":"户要位和业�","�","","","\n对<\n户:天样\n:{"由":"户询问今天天气,只有其他功能可以回答天气问题,因此我选择其他功能。","功能":"其他"}\n</示例>\n\n<输出格式>\n{"理由":"你选择这个功能的理由","功能":"你认为最匹配的一个功能"}\n</输出格式>\n', 'origin_tokens': 1194, 'compressed_tokens': 673, 'ratio': '1.8x', 'saving': ', Saving $0.0 in GPT-4.'}

bird-frank commented 4 months ago

I have upgraded to 0.2.1, and the issue still exists.

I tried model 'FlagAlpha/Llama2-Chinese-7b-Chat' and default model (not specify modal id), the error is same.

截屏2024-04-09 14 42 04
joyce0105-ops commented 1 month ago

I have upgraded to 0.2.1, and the issue still exists.

I tried model 'FlagAlpha/Llama2-Chinese-7b-Chat' and default model (not specify modal id), the error is same.

截屏2024-04-09 14 42 04

Have you solved this problem?

joyce0105-ops commented 1 month ago

I also encountered the same problem, I want to know when this bug can be repair.

Hi @Yongxin-Hu, I apologize, but due to bandwidth limits, we're currently unable to fix this issue.

However, you might consider replacing the base model with another language model like "Skywork" or "Yi" to address this problem.

why using "Skywork" or "Yi" can address this problem