你的AI在幻觉吗?使用通用LLM获取饮食建议的危险
ChatGPT和Gemini可以写诗,但它们能计算你的卡路里吗?我们将通用LLM与经过验证的营养数据进行了测试,结果让任何依赖它们进行饮食追踪的人都应该感到担忧。
“嘿,ChatGPT,我的鸡肉炒菜里有多少卡路里?”
答案迅速而自信地回来了:“一份典型的鸡肉炒菜大约含有350到450卡路里。”听起来很合理,甚至还细分了营养成分。但问题是:这个数字是虚构的。不是估算,也不是近似,而是基于文本数据中的统计模式生成的,与实际的营养数据库没有任何联系。
这就是AI研究人员所称的幻觉,当它发生在营养领域时,其后果远不止一篇糟糕的文章或错误的琐事答案。人们基于这些数字做出真实的饮食决策,而这些决策会影响他们的健康。
在营养上下文中“幻觉”的含义
在大型语言模型的术语中,幻觉是指模型生成的信息听起来合理但实际上是错误的。LLM并不会在数据库中查找事实。它们是根据训练过程中学习到的模式预测下一个最可能的单词。
当你询问ChatGPT某种食物的卡路里含量时,它并不是在查询USDA FoodData Central数据库或交叉参考NCCDB。它生成的回答在统计上类似于其训练数据中可能出现的答案。有时这个答案接近正确,有时则大相径庭。
危险在于,无论是哪种情况,信心水平都是相同的。幻觉产生的卡路里计数与准确的卡路里计数看起来完全一样。
通用LLM在营养方面的错误
我们进行了一系列测试,询问ChatGPT(GPT-4o)、Gemini和Claude估算常见餐点的营养成分。然后将这些估算与USDA验证的参考值和Nutrola的营养师审核数据库进行了比较。失败的模式一致且显而易见。
虚构的精确度
问LLM“一汤匙橄榄油有多少卡路里?”你通常会得到一个正确的答案:大约119卡路里。这是因为这个特定的事实在训练数据中出现得很频繁。
但问“自制鸡肉咖喱配烤饼有多少卡路里?”模型就得即兴发挥。在我们的测试中,GPT-4o对同一道餐的估算在不同对话中从450到750卡路里不等。根据经过验证的配方和成分数据,实际值为685卡路里。有一个回答接近,其他的则偏差超过200卡路里。
模型无法标识哪些答案是可靠的查找结果,哪些是即兴猜测。
准备方法盲点
LLM在食物准备方式上存在根本性的盲点。“烤鸡胸肉”和“用黄油煎炸的鸡胸肉”可能会得到相似的卡路里估算,因为模型关注的是主要成分而非烹饪方法。
在我们的测试中,当我们询问“鲑鱼”而不具体说明准备方式时,回答通常默认是6盎司鱼片的烤或煮估算,约为230到280卡路里。而用两汤匙黄油和照烧酱煎炸的6盎司鲑鱼鱼片实际上接近450到500卡路里。这个差距足以在长期内影响卡路里赤字。
份量假设的幻觉
也许最危险的失败模式是对份量的假设。当你询问通用LLM某种食物的卡路里时,它必须假设一个份量。这些假设往往不一致且未明确说明。
“一碗意大利面”可能被估算为300到400卡路里。但是谁的碗呢?标准的2盎司干意大利面配番茄酱大约是280卡路里。而餐厅的4到6盎司干意大利面加酱料轻松达到600到900卡路里。LLM选择一个中间值并将其作为事实呈现。
餐单中的累积错误
当用户要求LLM生成完整的餐单时,风险加剧。每个单独的估算都带有误差,而这些误差在餐点和天数之间累积。一个声称提供1800卡路里的餐单,实际上可能提供2200或1400卡路里,具体取决于误差的方向。
对于那些使用餐单来管理糖尿病等医疗状况,或满足特定运动表现目标的人来说,这种程度的不准确不仅无益,甚至可能有害。
为什么专门的营养AI与众不同
通用LLM与专门设计的营养系统之间的区别在于架构,而非外观。
基于数据库的响应
Nutrola的AI并不是从语言模式中生成卡路里估算。当它识别出一种食物时,会将该识别映射到营养数据库中的经过验证的条目。该数据库包含来自USDA FoodData Central、多个国家的国家营养数据库以及内部营养师审核的条目。
这意味着系统无法虚构卡路里计数。这个数字来自一个特定的、可审计的数据库条目,而不是来自统计语言模型。
视觉验证
当用户拍摄一顿餐时,Nutrola的计算机视觉模型会识别出各个食物项,并根据视觉分析估算份量大小。这种视觉基础提供了文本LLM无法执行的检查。系统实际上是在观察你所吃的食物,而不是根据文本描述进行猜测。
透明的不确定性
一个设计良好的营养系统会承认何时存在不确定性。如果一道菜不明确或从照片中难以估算份量,系统可以标记这种不确定性并要求用户澄清。通用LLM几乎从不指示其营养估算的低置信度,因为它们没有测量自己对事实声明信心的机制。
真实的健康风险
AI提供的不准确卡路里数据并不是一个抽象问题,而是以具体的方式表现出来。
体重管理失败。 每天一致的200卡路里过高或过低的计算会改变任何饮食的结果。在30天内,这就是6000卡路里的误差,约等于1.7磅的体脂变化。
微量营养素盲点。 LLM很少提供微量营养素数据,而当它们提供时,这些数字的可靠性甚至低于卡路里估算。在怀孕期间跟踪铁摄入量或监测高血压的钠含量的人无法依赖生成的估算。
虚假的信心。 最隐蔽的风险是用户相信自己拥有准确的数据,而实际上并非如此。这种虚假的信心使他们无法寻求更好的工具或根据真实结果进行调整。
何时可以询问LLM关于食物的问题
通用LLM在营养方面并非毫无用处。它们在某些类型的查询中是有效的:
- 一般教育:例如“哪些食物富含钾?”或“可溶性纤维和不可溶性纤维有什么区别?”这些是知识性问题,近似答案是合适的。
- 食谱创意:例如“给我一个低于500卡路里的高蛋白午餐创意”,即使确切的卡路里计数需要验证,也能提供有用的灵感。
- 理解概念:例如“解释什么是卡路里赤字”或“蛋白质如何帮助肌肉恢复?”这些领域LLM表现良好。
界限很清晰:使用LLM学习营养知识。使用经过验证的、基于数据库的工具进行追踪。
如何验证任何AI营养声明
无论你使用的是聊天机器人还是其他工具,检查你所获得数据的实用步骤如下:
- 与USDA FoodData Central交叉参考。 USDA数据库是免费的、公开的,并经过实验室验证。如果AI的估算与同种食物的USDA条目有显著偏差,AI很可能是错误的。
- 检查份量假设。 始终询问或验证估算基于什么份量。没有份量的卡路里数字是没有意义的。
- 考虑准备方法。 同一种成分的卡路里密度可能因生食、烤、炸或用油炒而变化2到3倍。
- 对圆整数字持怀疑态度。 如果AI告诉你一顿餐有“正好500卡路里”,那是生成的估算,而不是测量的值。真实的营养数据有具体的数字,如487或523。
常见问题解答
ChatGPT在卡路里计算上准确吗?
ChatGPT和类似的大型语言模型在卡路里计算上并不可靠。它们根据文本模式生成估算,而不是在经过验证的营养数据库中查找值。在测试中,LLM对复杂餐点的卡路里估算在不同查询中相差200到300卡路里。对于简单、众所周知的项目,如“一颗大鸡蛋”,估算往往接近,因为该数据在训练文本中频繁出现。对于准备好的餐点、餐厅菜肴和混合成分的食物,误差率显著增加。
我可以用ChatGPT追踪我的宏量营养素吗?
对于追求特定健康或健身目标的人,不建议使用ChatGPT进行宏量营养素追踪。模型无法考虑你的实际份量、烹饪方法或特定成分。它的结果也缺乏一致性;同样的问题询问两次可能会产生不同的宏量营养素分解。对于一般了解某种食物是否富含蛋白质或碳水化合物,LLM可以提供有用的方向性信息。对于精确追踪,专门设计的营养应用程序与经过验证的数据库将产生更准确和一致的结果。
什么是营养中的AI幻觉?
营养中的AI幻觉是指当语言模型生成听起来权威但实际上不正确的营养数据,如卡路里计数、宏量营养素分解或微量营养素值。模型并不是故意撒谎;它是根据模式预测听起来合理的文本。结果是一个看似事实的卡路里计数,但从未经过任何营养数据库的验证。这尤其危险,因为用户无法在没有手动交叉验证的情况下区分虚构的估算和准确的估算。
我如何知道我的营养AI是否提供准确的数据?
检查三件事。首先,询问该工具是否从经过验证的营养数据库(如USDA FoodData Central或NCCDB)提取数据,而不是从语言模型生成估算。其次,验证它是否考虑了准备方法,因为烹饪方法可能使食物的卡路里含量变化50%到200%。第三,检查该工具是否指定其估算基于的确切份量。一个可靠的营养AI应该对其数据来源保持透明,并在不确定的估算上标记,而不是将每个数字都以相同的信心呈现。
跟随AI生成的餐单是否安全?
AI生成的餐单可以作为起始框架,但不应盲目遵循以满足特定的医疗或表现目标。餐单中的每个卡路里估算都可能存在误差,而这些误差在整天的饮食中会累积。如果该计划声称提供1800卡路里,但每餐估算偏差10%到15%,实际每日摄入量可能在1500到2100卡路里之间。对于一般健康饮食的灵感,AI餐单是一个合理的起点。对于临床营养管理、减肥计划或运动表现饮食,卡路里和宏量营养素目标应与基于数据库的工具进行验证。