본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 06. 02. 04:56

우리가 자체 영양소 데이터셋을 구축하고 AI에게 묻지 않는 이유

요약

음식 추적 앱 Zutato는 정밀한 영양소 수치 제공을 위해 LLM 대신 자체 데이터셋 구축을 선택했습니다. 연구 결과 LLM은 영양소 추정 시 높은 오차율을 보이며, 크라우드소싱 데이터 또한 검증 측면에서 한계가 있음을 지적합니다.

핵심 포인트

  • LLM은 영양소 수치 추정 시 높은 평균 절대 오차를 보임
  • 언어 모델의 환각 현상으로 인해 수치의 일관성 결여
  • 크라우드소싱 데이터는 도달 범위는 넓으나 검증 프로세스가 부족함
  • 정밀한 데이터가 필요한 서비스에서는 자체 데이터셋 구축이 필수적임

저는 영양소 투명성에 집중하는 음식 추적 앱인 Zutato를 만들고 있습니다. 우리가 내린 초기 결정 중 하나는 실제 영양소 수치를 위해 AI를 사용하지 않는 것이었습니다. 그 이유는 다음과 같습니다.

우리는 당신의 당근에 무엇이 들어있는지 AI에게 묻지 않습니다.

2026년 기준으로 이상하게 들릴 수도 있습니다. 우리는 앱의 많은 곳에서 AI를 사용하고 있습니다. 하지만 당신의 기록부에 남게 될 구체적인 영양소 수치에 관한 문제라면, 우리는 의도적으로 언어 모델 (Language Model)에게 묻지 않습니다.

그럴듯하지만, 틀렸습니다.

통곡물 오트밀 100g에 철분이 얼마나 들어있는지 언어 모델에게 물어보세요. 내일 다시 물어보세요. 모레 약간 다른 표현으로 다시 물어보세요. 당신은 모두 설득력 있게 들리지만, 수 밀리그램(mg)씩 차이가 나는 세 가지 답변을 받게 될 것입니다.

이것은 단순히 느낌의 문제가 아니라 측정 가능한 문제입니다. 2025년 연구에서는 ChatGPT에 식사 사진을 입력하고 그 추정치를 기준값과 비교했습니다:

  • 칼슘 (Calcium): 실제 값보다 27.8% 낮음
  • 칼륨 (Potassium): 실제 값보다 49.5% 낮음
  • 엽산 (Folate): 실제 값보다 38.6% 낮음
  • 비타민 D (Vitamin D): 중앙값 기준으로 0으로 추정됨
  • 1인분 무게 (Portion weight): 76.3%의 사례에서 과소평가됨 – 그리고 모든 미량 영양소 (Micronutrient) 추정치는 이 무게를 바탕으로 이루어집니다.

별도의 2025년 연구에서는 세 가지 언어 모델을 비교했으며, ChatGPT와 Claude가 무게와 에너지에 대해 약 36%의 평균 절대 오차 (Mean Absolute Error)를 보였으나, 거대 영양소 (Macronutrients) 자체에 대해서는 4073%의 오차를 보였고, Gemini는 영양소에 따라 64110% 사이의 오차를 기록했습니다. 저자들은 대략적인 추적 용도의 사례로는 잠재력이 있다고 보았지만, 정밀한 수치에는 모델들이 부적합하다고 명시적으로 언급했습니다.

근본적인 문제는 "AI가 아직 충분히 좋지 않다"는 것이 아니라 구조적인 문제입니다. 언어 모델은 검증 가능한 근거 없이 그럴듯하게 들리는 수치를 생성합니다. 답변이 추적할 수 있는 데이터셋이 존재하지 않으며, 주사위를 다시 던질 때마다 다른 숫자가 나옵니다. 추적 앱에게 이것은 시작조차 할 수 없는 문제입니다.

크라우드소싱 (Crowdsourced)은 훌륭합니다 – 다만 유일한 출처로서는 부족합니다.

명백한 대안은 OpenFoodFacts (OFF)일 것입니다. 10만 명 이상의 자원봉사자, 150개국에서 수집된 400만 개 이상의 제품, 개방적이고 자유롭게 사용할 수 있는 것 — 우리가 진심으로 존중하는 프로젝트입니다. OFF가 없었다면 오픈 푸드 데이터 (open food data)에 관한 모든 논의는 훨씬 빈약했을 것입니다.

OFF가 잘하는 것: 도달 범위, 개방성, 그리고 다른 어디에서도 디지털로 캡처되지 않은 방대한 제품 풀입니다. OFF가 구조적으로 할 수 없는 것: 개별 수치가 게시되기 전에 검증되었음을 보장하는 일입니다. 게시 전의 구속력 있고 공식적인 검토 프로세스는 존재하지 않습니다. API를 통해 결국 얻게 되는 것은 입력된 것과 동일한 미검증 수치들입니다.

이것은 불평이 아닙니다 — 해당 모델이 가져오는 정직한 결과입니다. 크라우드소싱 (Crowdsourced)은 도달 범위 측면에서는 효과적입니다. 하지만 여러분의 영양 추적을 믿고 맡길 앱을 위한 단일 출처로서는 충분하지 않습니다.

남은 선택지: 수학 (math).

그래서 우리는 번거로운 길을 택합니다. 기본 식재료 — 귀리, 당근, 렌틸콩, 두부, 올리브 오일 — 에 대해서는 Max Rubner-Institut에서 관리하는 표준 참조 자료인 Bundeslebensmittelschlüssel (BLS)에 의존하며, 그 수치의 출처는 추적 가능합니다.

특정 브랜드 제품의 경우, 제조사 라벨이 일차적인 출처입니다. 제조사가 미량 영양소 (micronutrients)를 표기하지 않을 때 — 이는 예외가 아닌 규칙입니다 — 우리는 계산합니다. 제품의 성분 목록과 각 성분에 대해 알려진 BLS 수치를 바탕으로, 전체 영양 프로필 (nutrient profile)을 결정론적 (deterministically)으로 도출할 수 있습니다. 동일한 입력에는 매번 동일한 출력이 나옵니다. BLS 업데이트가 발생하더라도, 어떤 수치가 왜 변했는지 명확히 알 수 있습니다.

여기서 구체적인 알고리즘을 설명하지는 않겠습니다. 중요한 것은 계산이 얼마나 영리한가가 아니라, 그것이 결정론적이고 추적 가능하다는 점입니다. AI는 설계 방식부터 그렇지 않습니다.

우리에게는 더 많은 작업, 여러분에게는 덜한 마법.

그 결과, 우리가 책임을 지는 큐레이션된 자체 보유 데이터셋이 만들어졌습니다. OFF보다 규모는 작고, 성장 속도는 더 느리며, 훨씬 덜 화려합니다. 그 대가로, 4.6이라는 수치는 2주 후에도 여전히 4.6일 수 있습니다. 만약 그렇지 않다면, 우리는 정확히 그 이유를 확인할 수 있습니다.

이것이 우리의 방식입니다. 우리가 수고를 감수하는 대신, 여러분은 신뢰할 수 있는 수치를 얻게 됩니다.

관심이 있으시다면 – 2026년 가을에 베타 버전이 공개됩니다. zutato.com에서 신청하세요.

출처

  • O'Hara C. et al. (2025): An Evaluation of ChatGPT for Nutrient Content Estimation from Meal Photographs. Nutrients 17(4):607. doi.org/10.3390/nu17040607
  • Fridolfsson J. et al. (2025): Performance Evaluation of 3 Large Language Models for Nutritional Content Estimation from Food Images. Curr. Dev. Nutr. 2025;9(10):107556. doi.org/10.1016/j.cdnut.2025.107556

원문 게시지: zutato.com

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0