Ollama:简单尝试一下更长的Context Length

随着Ollama的使用越来越多,默认的2048 context length 已经在很多应用场景中捉襟见肘了。这点 context length 真的只能玩一玩,并没法真的完成什么任务。何况现在商用的大模型动辄都是128K的 context,Ollama上面支持的很多模型在当下(2024-10-31)都已经宣称支持128K长Context Length。于是为了让本地模型从玩具变成生产力,开始了一系列尝试。

这次只是记录一下简单的尝试,看看长上下文能不能用起来。并没有很严谨的测试benchmark。而且本人是一个小白,所以只是闹着玩一玩,当不得真。

平台

  • VM OS: Ubuntu 24.04
  • GPU: Nvidia 3090 24GB
  • RAM: 16GM
  • CPU: i3 10100
  • UI: Open WebUI v0.3.35
  • Ollama Version: 0.3.12
  • Models tried:
    • Qwen 2.5:32b
      • 平时的使用中,发现这个模型的效果真的是不错。个人感觉可能可以算是3090单卡能装下的最强通用模型了。但是GPU显存消耗不容小觑,长Context有可能扛不住。
    • Qwen 2.5:14b
      • 如果32b扛不住,那就试试小一点的吧。同时也稍微对比一下两者的区别。

总结文本

实验的 input 采用一个非常搞笑的设计:

  • 一段 CNN 上面的新闻:‘Horizon’ plane’s innovative shape promises greener flights and added comfort
  • 一段 CNN 上面的菜谱:Chicken wing recipes you’ll want to eat all the time
  • 两段来自著名PDF文件《八卦汇总》的文章:京圈往事,东北往事。
  • 英语部分总共 1557个单词。
  • 中文部分总共 1470 个字符。(Google doc count的,我也不知道准不准)。
  • 任务非常简单,就是让LLM总结一下这几部分的文章内容。对于LLM来说,基本可以算是最简单的任务了。

2K Context Length

  • 首先是用默认的 2K 的 context length。

Qwen 2.5:32b

(VRAM usage:79%)的输出(敏感信息已过滤):

这段文字似乎在描述娱乐圈中一些人物之间的复杂关系以及与神秘主义相关的事件,主要提到了几位明星如**(可能是**)、**、**等,并牵涉到所谓的“萨满”文化或通灵术等神秘手法。

总结起来可以发现:

东北地区存在一种被称为“大仙”的角色,他们实际上是所谓的“萨满师”,据说能与“五仙”沟通并帮助人改变运势。
文中提到**为了达到目的,曾寻求这样的“大仙”的帮助,并且提到了她因此受到反噬的情况。这些内容可能包含了一些个人经历或传闻中的细节。
**和**被列为曾经的“东北帮”的成员,并提到了她们之间的关系以及娱乐圈内的各种利益纠葛。
值得注意的是,上述提到的内容含有大量未经证实的传言和个人观点,并且涉及一些神秘主义元素。在阅读这类信息时应保持批判性思维并谨慎对待。如果对某些人或事有兴趣深入了解,最好参考官方声明或其他可靠来源的信息。

Qwen 2.5:14b

(VRAM Usage:46%) 的输出(敏感信息已过滤):

总结如下:

1. 通灵与萨满 :在东北,有些被认为通灵的人被称为“大仙”,实际上是萨满师。这些人在传统上能够进行改运和与五仙沟通。
2. **的故事 :**是一位被圈内明星认可的女性,她曾帮助某女星通过借助胡仙(精)的力量拿到角色,但最终导致她的母亲遭到反噬。**自己也遭遇过反噬,但她的好命使她受到的影响全部转移到了自己的前夫**和徒弟**身上。
3. **的经历 :在事业巅峰时期,**涉足了各种领域,并且在与**分手后通过夜场活动来弥补情感上的空虚。她的“天煞孤星”命格让她身边的人经常受到影响。
4. 命运的轮回 :尽管**和***都通过行大运透支了自己的运气,但她在后期因自成一派并拥有神秘姐夫的帮助而得以延续其事业多年。然而,在整顿娱乐圈、打击非法活动的大环境下,她选择低调退出舞台。
5. 娱乐圈的关系网 :**与**在早期的东北帮圈内有紧密联系。尽管如今东北帮已不复存在,两人的交情依然保持良好。
总的来说,这段文字讲述了关于通灵和萨满文化在中国某些地区的实践情况,并通过具体人物的故事探讨了命运、人际关系以及娱乐圈内的复杂利益关系。

挺有意思的,两个都记住了要 “总结“,但是都完全忽视了前面的英文部分。而且“京圈往事”部分也完全跳过了。

8K Context Length

  • 直接更改 context_length = 8192
Set context length in 'Chat Controls'

Qwen 2.5:32b

(VRAM Usage: 91%)

这篇材料深入描绘了几位中国娱乐圈知名人物之间错综复杂的联系,并通过具体案例展示了娱乐圈内的权力关系、合作模式及人际关系中的微妙变化。

### *和*的关系

文章首先讲述了*与*之间的复杂情感纠葛,特别是关于可能存在的同性爱好倾向的传闻,尽管这些传闻从未被证实。之后,文中提到在他们早期的合作期间,围绕*的一些负面评价主要集中在所谓的“钙本质”上,而这种不受欢迎的形象似乎逐渐转变为了女明星间的花边新闻,暗示了娱乐圈内对不同性别明星的态度差异。

### 关于*和*的关系

另一方面,文章还介绍了*和*之间的关系,指出二人皆来自东北帮这个在娱乐圈中占有重要地位的圈子。尽管同属一辈,但由于年龄及履历上的细微差别,*在圈内的位置略高于*。即使东北帮已经解散多年,两人依然保持良好的私人关系,并且这种友谊也促进了她们事业上的一些合作。

### 综合分析

整体来看,文章通过几个具体的明星案例来描绘娱乐圈内部的复杂生态,包括但不限于个人之间的恩怨、不同派系之间的竞争以及随着行业环境变化而产生的权力更替。这些故事不仅体现了个体之间的情感与利益纠葛,也映射出了中国娱乐产业背后更为广泛的社会文化变迁和商业逻辑。

值得注意的是,在解读这类关于明星私生活的报道时,应该保持客观立场,并认识到媒体在塑造公众形象方面的作用以及可能存在的偏见或不实之处。

不错,已经能覆盖到 “京圈往事” 的范围了。而且使用这个模型将回答中的人物名称都改为‘*’的操作也很流畅。32b还是很值得信赖的。

Qwen 2.5:14b

(VRAM Usage: 73%)

当然可以,以下是修改后的版本:

### **与***的关系

1. **情感纠葛**:
   - 文章提到**早年对***可能有特殊的情感(如“同性爱好者”),但***并未接受,导致最后两人分道扬镳。
   
2. **合作经历**:
   - 在与***合作期间,**的绯闻多是关于“钙本质”的爆料,暗示其在圈内并不受欢迎或遭遇了一些负面评价。相反,在后来的合作中,这些传闻都变成了关于女明星的花边新闻。

3. **澄清传闻**:
   - 文章强调,那些被指为***和**“共享玩物”的男演员,实际上可能是受到**影响,而非***。
   
### **与**的关系

1. **背景介绍**:
   - 东北帮(由***带领)是娱乐圈中的一个重要派系。**和**都属于这个圈子,并且在当时地位相当高。

2. **关系细节**:
   - 两人虽然是同龄人,但因**比**大几个月以及履历上的优势,在圈内地位上略高于**。
   
3. **交情维持**:  
   - 虽然东北帮已解散多年,但由于早年深厚的交情和互惠互利的合作关系,两人在后续仍然保持着良好的互动。

总结来说,文章通过剖析几位明星之间的复杂感情线、合作关系以及圈内地位的变化,揭示了娱乐圈内部的纷争与权力斗争。而这些故事背后不仅有个人恩怨,更有整个行业环境变迁的影响。

虽然其实也还行,其实比32b的结果更简练一些。但是在后续把人名都替换为 * 的任务中表现得很不好。还是很多人名需要我手动改成 * 的。

16K Context Length

Qwen 2.5:32b

VRAM Usage: 98% 基本上显存应该已经到顶了。Token 生成是速度明显下降(之前差不多一秒50+个Token,现在4 token/sec),CPU的使用达到单核100%(不知道是不是Ollama默认CPU只用一个核?)

文章涵盖了三个不同的主题,分别是新型飞机设计、鸡翅食谱和娱乐圈历史。

1. **新型飞机设计**:介绍了由\*\*\*\*\*\*公司研发的一种名为“Horizon”的新机型,其采用了一种称为“融合翼身”(blended wing body)的设计,与传统的“管-翼”设计相比,这种设计可以显著降低燃料消耗和排放。此外,该机型还预计能提供更大的内部空间,从而改善乘客体验。尽管这一设计仍处于早期开发阶段,但它代表了航空业减少碳足迹的创新尝试。

2. **鸡翅食谱**:提供了几种不同风味的鸡翅烹饪方法,包括传统烤制、空气炸锅制作以及甜辣口味等。这些食谱强调了使用不同的调味料和烹饪技巧来创造出独特的味觉体验。

3. **娱乐圈历史**:
   - 文章首先简要介绍了中国娱乐圈的历史背景及“zi本”(资本)介入后带来的变化,随后详细讲述了京圈的形成及其核心人物如\*\*、\*\*等人的事迹。文中还探讨了编剧在影视行业中扮演的重要角色以及这些核心人物之间的复杂关系。
   - 接着,文章转而介绍了东北娱乐圈的历史,尤其是\*\*\*\*\*和\*\*等人的崛起过程。其中提到了\*\*如何通过与“帽子叔”(\*\*\*\*\*)的合作、利用自己的人际关系网络成功塑造了自己在圈内的地位,并进一步讨论了其背后的复杂关系网。

这些内容展示了从技术创新到饮食文化再到娱乐圈历史的丰富多样性,强调了各种领域内人们如何寻找创新解决方案来应对当前挑战。

成功涵盖了input里面给到的所有内容。但是在后续“把人名都替换为*字符“的任务中,错误的把公司名称也替换为了星号。

Qwen 2.5:14b

VRAM Usage: 57%,Token 生成速度维持在了 35.51 Token/sec。(但是为什么VRAM使用的比8K context length 的时候少?)

文章主要内容如下:

第一部分介绍了一种新的飞机设计——“Horizon”,这是由Natilus公司开发的一种采用“混合翼体”(blended wing body)技术的商用飞机,预计到2030年投入使用。与传统的“管和翼”设计不同,“混合翼体”技术有望显著降低燃料消耗,减少碳排放,并增加机舱空间,提升乘客舒适度。

第二部分描述了Natilus公司在开发这种新机型的过程中面临的挑战和技术细节,包括如何解决稳定性问题、使用现有发动机技术以及需要在短时间内完成从概念到实际生产的转变。同时文章还提到当前航空业减排措施的不足和新型飞机认证过程中的潜在困难。

第三段落转而讨论了关于中国娱乐圈内部帮派的背景信息,特别是围绕“*圈”势力及其与*的关系。讲述了该圈子内的人员如何通过不同的手段获得成功,并详细介绍了几位重要人物如*、*以及他们的合作伙伴*等人的发展路径。

第四部分探讨了东北文化对娱乐行业的影响,具体以*和*为例展示了她们如何在各自的领域中崛起并应对挑战。其中包括与*及*之间的竞争关系,并简要提到了*和*的交集背景。

综上所述,文章涵盖了从航空业创新到中国娱乐圈内部动态两个截然不同的主题,详细介绍了相关行业的发展趋势和技术革新,同时也揭示了娱乐行业内复杂的人际网络和社会现象。

表现挺不错的,但是完全跳过了 “鸡翅食谱” 的部分。感觉上不如32b的表现稳定。

目前来看,16K的长度至少可以用一用了。到这里就需要再提高 input token 的数量了。

但是截止目前为止,num_predict 都是默认值,也就是 128。这就导致返回的答案中最多就是128个token。

对于长文本,我们经常也希望多返回一些内容。那么我们调整一下。

16K Context Length + 2K Num_Predict

同时,提示里面也要提醒一下模型,要多保留一些细节。

Qwen 2.5:32b

VRAM Usage: 98% (说实话,我是没想到还能返回内容的)而且在第一个 response token 之前还等待了很久。

### 创新飞机设计承诺更环保和舒适飞行

随着全球对航空旅行需求的增长,航空排放量不断上升,超过了铁路、公路或海运的排放增长速度。虽然可持续航空燃料(SAF)能够大幅降低航班排放,但其供应不足限制了它发挥更大作用的可能性。

面对减少碳排放的压力,一些工程师提出了一种新的飞机设计——融合翼体结构。这种设计打破了传统的“管和翼”布局,将机翼区域扩展到机身大部分部分,形成一个独特的外观。

*公司在2020年就开发了一个小型的、遥控的融合翼原型机,声称可以节省高达20%的燃料。2023年,加州公司*宣布了一款可搭载超过200名乘客的设计相似的飞机,并计划于2030年投入使用。

San Diego的Natilus也加入了这场竞赛,推出了名为“Horizon”的融合翼飞机。该机型预计能减少50%的排放并节省30%的燃料,与当前的Boeing 737和Airbus A320相比具有竞争力。

### 鸡翅食谱

从烤鸡翅到油炸鸡翅再到空气炸锅鸡翅,可以尝试各种不同的烹饪方法。推荐一款使用蜂蜜、波旁威士忌和黑糖浆调味的经典鸡翅食谱,让鸡翅变得更加美味可口。还可以通过改变调料和酱料来丰富口味。

### 京圈往事

20世纪90年代,国内兴起港台艺人的追星热潮,*氏兄弟因此决定创建国产娱乐时代。*电影公司由此诞生,并通过与著名作家*的合作逐步崛起。随着其他如*、*等人加入,形成一个以东北帮为代表的“京圈”,这个圈子逐渐成为娱乐圈内的一个重要势力。

### 东北往事

20世纪90年代初期,*凭借在东北地区的背景和*的支持,在歌坛上崭露头角,并逐步建立了自己作为“东北一姐”的地位。通过与*、*等人的合作以及对*的压制,她成功稳固了自己的位置并成为圈内具有影响力的明星。

### 明星间的复杂关系

娱乐圈内部存在着复杂的站队和联盟关系。例如,*和*曾都是东北帮的一员,两人之间保持了多年深厚的友谊与合作关系。然而随着时间推移,娱乐圈格局发生变化,这些曾经紧密联系的圈子也逐渐走向瓦解。

32b一如既往的可靠。不过就是比较慢就是了。

Qwen 2.5:14b

VRAM Usage: 56%。依旧是比 8K 的时候低,有些不同寻常。

这篇文章主要介绍了两种截然不同的内容:一种是关于航空业创新设计“Horizon”飞机的信息,另一种则是娱乐圈内一些知名人物背后的故事和八卦。

**一、关于“Horizon”飞机的设计与前景**

1. **背景介绍**: 文章开篇讲述了航空公司如何努力减少碳排放,并引出了一个新概念——一种被称为“blended wing body”的创新飞行器设计。这种设计理念试图通过全新的机身形状大幅度降低燃油消耗,从而显著减少航空公司的运营成本及环境影响。

2. **技术细节**:
   - “Horizon”飞机采用了一种独特的混合翼身(Blended Wing Body)设计,不同于传统的“管状机舱和翼”的布局方式。该设计旨在减少阻力、减轻重量并提升燃油效率。
   - *公司声称这种新机型比当前的主流窄体客机如波音737和空客A320能降低约50%的单位座位碳排放量,同时消耗少30%的燃料。

3. **发展前景**:
   - 尽管项目充满野心,但要在短短六年内从设计阶段推进到实际运营,面临着诸多挑战。例如需要解决新型号在稳定性与控制方面的技术难题。
   - *公司还提到,由于其独特的飞机布局,未来乘客体验将有所革新:包括更多的内部空间以及不同的座位安排选项。

**二、娱乐圈“京圈”往事**

这部分内容讲述了中国娱乐界的一个重要圈子——"京圈"的历史和发展,并重点介绍了几位关键人物如*和她的竞争对手*及*的故事。作者通过详细叙述来揭示了这个团体内部的权力斗争以及成员之间的复杂关系网。

1. **背景介绍**:
   - "京圈"是90年代以来在中国娱乐圈里形成的一个重要势力集团,以华谊公司为代表。
   
2. **主要人物事迹简介**:
   - *通过与*的合作迅速崛起,在东北帮中占据了主导地位,并且运用各种手段压制竞争对手。
   - 例如在面对*和*的竞争时采取了强硬措施,包括利用黑道力量打击对手等策略。

这两部分内容风格迥异:前者注重技术创新及其对航空业的影响;后者则聚焦于娱乐行业的幕后故事及人物关系。

依旧是完全抛弃了 “鸡翅食谱” 的部分,同时娱乐圈的内容也有些过分简洁。似乎Qwen的模型都有点惜字如金的感觉。跟当初的GPT3.5挺不一样的。

Qwen 2.5:32b with extra prompt

在输入的第一行添加:“每一个章节的总结不少于400字”。整体的 prompt 是:

总结以下文章内容,多保留一些细节内容供读者参考。每一个章节的总结不少于400字:

Output:

### 概述飞机设计创新及其潜在影响

航空业正面临巨大挑战,随着全球对航空旅行需求的增长,航空排放量也在不断增加,远超铁路、公路或海运等其他交通方式。为减少此类排放,可持续航空燃料(SAF)被视为一种可能的解决方案,但供应不足且普及程度有限。因此,工程师们提出了一个全新的飞机设计方案——“Horizon”,其采用融合翼身设计,旨在通过创新来降低燃油消耗和碳排放。

2020年Airbus推出了小型、遥控的融合翼型演示机,并声称可以节省高达20%的燃料;随后JetZero在2023年宣布了类似设计的飞机计划。Natilus公司推出的“Horizon”是一款使用融合翼身设计,可搭载约200名乘客,与当前主流机型相比减少50%排放、降低30%燃油消耗。

据CEO *介绍,“窄体市场是未来二十年最大的市场”,他相信现在有机会创建一个可以与Boeing或Airbus竞争的新品牌。融合翼身设计在1990年代由*提出,但从未实现商用。Natilus的Horizon预计2030年投入使用。

### 新型乘客体验

Natilus公司成立于2016年,最初宣布了一种名为Kona的货物专用无人飞机,采用相同的设计理念。融合翼身设计可以降低飞行器重量、增加内部空间和减少空气阻力。该设计将带来全新的布局可能,提供更大的脚底面积。

Horizon并未使用新的发动机技术,也未考虑氢能源或电力选项。其与传统Boeing 737及Airbus A320的兼容性使其无需改变机场基础设施。尽管如此,融合翼身的设计仍存在稳定性问题,需要依靠复杂飞行控制系统来解决这些挑战。

### 面临的挑战和前景

根据航空分析师*的观点,“Horizon”的面世时机正好在航空业等待新飞机交付期之间产生了一个“窗口机会”。然而,这种全新设计需通过认证,可能会遇到延误。对于制造商而言,如何克服运营难题、提供可靠支持是主要挑战之一。

此外,由于融合翼身是一种全新的设计,其认证过程可能比传统机型更为复杂和谨慎。目前仅存在风洞测试数据和缩比原型机,尚无人实际建造过全尺寸模型。Natilus公司正在推进全尺寸原型的设计工作,以期解决这些问题。

### 翅膀炸鸡的多样食谱

翅膀炸鸡在球赛日是不可或缺的食物,其烹饪方法多样,除了传统的油炸之外,还有烤箱、空气炸锅或烧烤等多种选择。例如,“烟熏蜜糖威士忌酱鸡翅”采用经典的香料腌制后搭配特制甜辣酱;“额外酥脆的韩国风味鸡翅”则通过玉米粉裹浆获得外皮的酥脆,再配上辣椒蜂蜜酱。

### 京圈往事:娱乐圈内帮派揭秘

该章节主要讲述了90年代中国娱乐界“京圈”的形成及其核心人物。以*、*等为代表的“大院子弟”,以及后来通过华谊兄弟逐渐扩展到更广泛的圈子。其中,*作为财务部的经理,在影视产业中拥有巨大影响力;而*则是通过与*合作逐步成为知名导演。

### 东北往事:*与*

该部分描述了“东北帮”在娱乐圈的影响及代表人物如帽子叔和那英。其中,那英凭借自身实力和人脉关系,在歌坛中建立起了自己的地位,并最终与田震产生争执。此外,“大仙”或萨满巫师在中国传统中的神秘角色也有所提及。

以上是对文章主要内容的总结,每部分均保留了重要的细节信息以供读者参考。

从结果看,确实生成了更多的文本。但是应该是没有达到“每段400字”的具体要求。但是表现应该也算是不错了。

32K Context Length + 4K num_predict

那么,就完全用《八卦汇总》里面的内容做测试吧。当然,这个测试就只能是针对中文语料的了。可能单纯的文本总结测试已经没有什么意义了?

从《八卦汇总》里面截取了258924字,看看效果如何。(在 Google Doc 里面 总共114页)

Qwen 2.5:32b

  • Open WebUI 的反应速度已经很慢了,这应该不是什么问题,因为正常情况下应该不会有人直接copy 258924个字的文本吧。而且看得出来时间可能就是花在一些预处理上面,可能是在 open WebUI上面,而不是在 Ollama 上面(只是个人的浅薄推测)。
  • RAM Usage reached to 62% (Total 16GB). VRAM reached: 97%. CPU usage: 100% (single core)
    • 似乎是有一部分的 inference 放在了 CPU上面?但也不是很确定。
    • Token 的生成速度变得非常慢:0.67 token/sec
这段文字描述了一个女明星**的职业生涯和个人生活,涉及她的感情纠葛、公关操作和演艺事业的起伏。

1. **最初因为救场而受到关注,后来因出演《金粉世家》而成名。
2. 在与***结婚前,有传闻称她与***有过一段暧昧关系。据爆料,生完孩子的**仍经常独自出现,并可能与***保持亲密接触。
3. 婚后,**被拍到与男演员***出轨,两人因此离婚。
4. 离婚后,她还曾与温州富商有联系,但并未公开承认这种关系。
5. 为了提升形象和人气,**多次参加综艺节目,并试图塑造“坚强单亲妈妈”的形象。
6. **通过与其他娱乐圈大腕**、**等人的结交来获取资源和支持。她还利用这些机会参与新项目并上节目宣传自己。
7. 尽管如此,**的努力并未使她的事业得到持续发展和认可,反而因频繁的公关操作而招致了更多的批评。

以上信息表明,**的职业生涯伴随着一系列负面传闻和个人形象危机,这影响了她演艺事业的发展。尽管她尝试通过各种方式重塑自己的公众形象,但这些努力似乎并没有带来持久的效果。

这次的结果算是彻底失败了。整个回到都只有一个艺人的信息。完全没有起到“总结”文章的作用。

Qwen 2.5:14b

  • Open WebUI的速度还是很慢,说明这个一开始等待时间很大程度上是因为 Open WebUI。
  • VRAM总共就用了76%。所以Token 速度维持在了31.41 token/sec
从这篇文章中,我们可以提取和总结出*职业生涯的重要转折点以及其背后的复杂背景信息:

1. **早期机遇与绯闻**:2003年,在北电大二时被*选中参演《闪》,随后出演《雪花女神龙》。这期间她曾因饰演此剧中的角色而传与男演员*恋爱,但*否认了这一关系。

2. **神秘金主的出现**:尽管*小姐在娱乐圈一直保持低调形象,但是其背后似乎有一位重要的“金主”支持着她的事业发展。这位金主具体是谁至今仍不明朗,但从一些蛛丝马迹来看,可能是京圈内的某位大佬或资本家。

3. **与保利集团的合作**:2004年,*小姐被*收入旗下,并开始通过*旗下的影视公司华亿联盟得到了更多的资源和曝光机会。然而,她却选择去了香港*的电影《八大豪侠》,似乎有意回避了京圈内部的人脉网络。

4. **转向华谊兄弟**:2007年,*小姐决定加盟华谊兄弟(“华姨”),而此前她在*旗下时曾有消息传称她将主演某部大制作。这一变动表明她试图寻找新的机会来推动自己的事业发展。

5. **与*的婚姻和合作**:2010年,*遇到了未来的丈夫*,并在同年结为夫妇。尽管两人一度被认为“零绯闻”,但随着他们越来越紧密的合作关系以及缺乏孩子的事实,“夫妻共享金主”的传闻开始流传开来。

6. **事业低谷与反弹**:虽然加入华谊兄弟后并未如预期般大红大紫,*小姐通过自己的努力和选择的角色逐渐积累了人气。但是直到她参演了海盐哥(郭敬明)的《芈月传》之后才真正走向公众视线,并因此获得了更多的关注。

7. **与*重新合作**:虽然在华谊兄弟内部的发展不顺,但*小姐依旧尝试寻找新的机会,在2015年左右又回到了曾经帮助她起步的*身边。然而此时小三上位的小妞白百何已成为了“京圈新宠”,导致*未能获得像样的戏份。

综上所述,*的职业生涯经历了一系列复杂的转折点和合作关系的变化,其中不少都与背后的金主以及人脉网络有着密切的关系。虽然她的个人形象始终保持清纯、低调,但其事业上的起伏却显示出了她所处的娱乐行业背后隐藏着更为复杂的政治经济博弈。

出现了和 32b 一样的问题。只有一个艺人的信息。相比16K的context length 实际上似乎表现还后退了。

关于文本总结

其实这个测试现在已经没有什么意义了。因为“knowledge base"的支持已经很好了。现在已经完全可以直接把PDF扔给Ollama,让它用里面的“knowledge”回答各种问题了。所以这个测试仅仅是看一下在对话中什么时候,会开始出现 clip 的情况。

内容生成

Longer Context Length + Larger num_predict 的一大使用原因是期待更强的文字理解能力和内容生成能力。用 LLM 获得更好的内容。除了总结(消除了细节)以外,很多时候我们还希望能用LLM收集信息,并生成一些文字,供我们阅读理解。这时除了总结以外,我们大概还会希望有更多的细节被发觉并添加进生成的内容之中。同时对于长内容生成来讲,文章的结构也是一大考虑要素。

于是我就以 Vikunja (More Details: Self-Hosted 待办事项: Vikunja) 为题,让 LLM 从网上收集一些信息,然后给我写一篇文章出来看看。

关于使用 Search Engine 收集信息的问题,我这里使用了一个 Open WebUI 的社区里面好心人提供的 Web Search tool,配合自托管的 SearXNG 来提供搜索支持。根据我的配置,Ollama会提取来自最多15个搜索结果页的信息,每页最多20000字的内容,然后进行统合。这一部分以后会再开一篇文章来记录。

Context Length: 32K, Predict_Num: 4K

Qwen 2.5:32b

The whole conversation is just not responsive anymore。整个对话就此卡住了。VRAM 使用率为 98%。内存使用率为62% (Total 16GB)。但是CPU出奇的安静。我其实怀疑这里面可能有 Ollama 的bug。

此时唯一的解决方法就是重启整个 ollama。

Qwen 2.5:14b

  • 搜索到15个页面,使用了其中13个页面的内容
  • VRAM: 76%。CPU:100% (single core),RAM: 16% (total 16 GB)

经测试,能够生成文章,而且速度很快。但是当把 Context Length 进一步提高到 65536,并且把 num_predict 提高到 32768 的时候,对于 14b 的模型来说,还是把显存都占满了。占满的结果就是,CPU占用率维持100%,内存开始大量占用 (也不能算很多吧,但是之前毕竟基本都没有内存占用),显存94%的占用,Token 输出速度降到每秒个位数,甚至不到1。但是这个跟纯粹的死机还是有区别的,之前在 32b 上面,CPU实际上是零。

同时,如果 Context Length 设置太高(其实 Qwen 2.5理论上应该是支持 128K Context Length 的),那么Open Web UI 端应该是会报 "internal error"的 (我怀疑是RAM内存不够了,内存分配失败导致的)。像 32b 那样直接无响应了可能是另外的问题 (这里有可能是 Ollama 的 bug)。

Flash Attention

总有大神来拯救世界。当你开始为内/显存不足而惋惜自己无法愉快的和128K的context length 玩耍的时候,Flash Attention 就来拯救你了。具体的这里就不说,总之,Ollama 可以轻松打开这个支持,添加这个 Env Variable 就可以了: OLLAMA_FLASH_ATTENTION=1

另外,建议在大 Context Length 的情况下,减小 num_batch 的大小。默认的 num_batch 是 512。我降低到 128。可以显著提高token的生成速度。这个优化应该仅仅是在 bit context length 的情况下有意义。

(不过就算这样,在 128K context length + 32K num_predict + 128 num_batch 的情况下,还是爆了24G的显存和16G的内存。建议如果有128K context length 的需求,还是务必把内存给到 32 GB。就算是 CPU off load,也比用 swap 要好得多。上了 swap,连停止都停止不了。)

Q3_K_M

Qwen2.5:32b 默认是 Q4的。长 Context 情况下基本上对于显存的需求就是无解的。这时候只能寄希望于更差的精度换来更小的模型了。

似乎这套Q3_K_M的效果据说是不错的:qwen2.5:32b-instruct-q3_K_M

最后得到了一个目前用起来应该还可以的方案:

Field Value
Model qwen2.5:32b-instruct-q3_K_M
Context Length 28672
num_batch 32
num_predict 8192

基本上可以满足28K的context length下的使用需求。在配合 web search 5 page, 10K token per page 的情况下,也算是比较好用了。

但是如果要用 128K 的 context length 的话,对于24GB显存来讲,应该已经是做不到了。测试下来,即使是7b的模型,当 context length 设为 128K 的时候,还是会爆显存,会 offload 到 CPU。对我我这个小机器来说,这就结束了。(但是有些奇怪的是,即使是如此,VRAM占用实际上并不高,也就50%不到。可能是 Context Length 的 token 甚至都没法 fit 进 VRAM 里面?)

如果是 64K 的话,用 minicpm-v:8b 测试一下,似乎是可以的?因为 log 里面有:llm_load_tensors: offloaded 29/29 layers to GPU 。但是速度实在是太慢了,基本上可以等同于死机了。