맛을 점수 대신 순위로 묻는다, TasteBench가 연 분자와 식품 사이의 길
21,000개 평가와 935개 순위 쌍으로 지속가능한 식품의 맛을 예측하는 멀티모달 벤치마크 TasteBench를 해설합니다.
원문 논문 보기
최근 arXiv에 공개된 TasteBench: Multimodal Benchmark for Sensory Prediction, from Molecules to Sustainable Foods는 지속가능한 식품의 맛을 계산으로 예측하는 문제를 정식 벤치마크로 만든 연구입니다. 이 논문이 내세우는 주장은 한 문장으로 정리됩니다. 분자 구조부터 실제 식품 평가까지 이어지는 멀티모달 예측 과제를 만들면 비싼 인간 패널 없이도 식물성 식품 개발의 설계 제작 테스트 반복을 가속할 수 있다는 것입니다. 원문 논문으로 이어지는 링크는 제목 아래에 걸어 두었습니다.
이 주제를 처음 봤을 때 저는 묘하게 반가웠습니다. 약이나 소재 쪽에서는 계산으로 후보를 거르는 일이 워낙 익숙하니까요. 그런데 맛은 그 익숙한 그림에 잘 들어가지 않습니다. 제가 이 논문에서 가장 흥미롭게 본 부분은 바로 그 어긋남을 정면으로 다룬 방식이었습니다. 맛을 맞히는 모델을 하나 더 내놓은 것이 아니라, 맛을 어떻게 물어야 모델이 배울 수 있는지를 다시 설계했기 때문입니다.
왜 맛은 약보다 예측하기 어려울까
신약이나 소재를 찾는 일을 해본 분들은 비슷한 풍경을 떠올리실 겁니다. 후보 분자가 수만 개 있어도 일단 docking 같은 계산으로 훑어보고, 그중 될 만한 것만 골라 비싼 실험으로 확인하죠. 밀도 범함수 이론 같은 도구가 그 뒤를 받치면서 원자 수준 계산과 실험 사이의 거리를 좁혀 왔습니다. 계산이 완벽하지는 않지만, 적어도 다음에 무엇을 시험할지를 정해주는 나침반은 되어줍니다.
그런데 지속가능한 단백질 쪽에는 그 나침반이 없습니다. 콩이나 완두, 균사체로 고기나 치즈나 우유를 흉내 내려면 결국 사람이 먹어보고 비슷하다고 말해줘야 하는데, 그 판정을 대신해줄 빠른 계산 프록시가 마땅치 않았습니다. 논문이 진단하는 지점이 바로 여기입니다. 약 발견에서는 흔한 설계 제작 테스트(design-build-test) 반복이 식품에서는 사람 패널 앞에서 막힌다는 것입니다.
생각해보면 사람도 비슷하게 느낍니다. 분자 구조식을 보고 이게 맛있을지 알 수 있는 사람은 거의 없습니다. 설탕과 소금이 화학적으로 어떻게 다른지는 알아도, 그 지식이 오늘 점심으로 먹은 식물성 버거가 진짜 고기 패티와 얼마나 비슷한지를 말해주지는 않습니다. 그래서 분자에서 감각까지 이어지는 사다리가 중간에 끊겨 있는 셈입니다. 그렇다면 그 사다리를 다시 놓으려면 무엇부터 정리해야 할까요.

패널 한 번 돌리는 데 왜 이렇게 오래 걸릴까요
인간 패널이 비싸다는 말은 자주 듣지만, 실제로 어디에서 비용이 새는지를 뜯어보면 이야기가 더 선명해집니다. 사람을 모으고, 같은 조건에서 조리하고, 순서 효과나 피로 효과를 피하려고 시식 순서를 짜고, 점수를 모아서 다듬는 일까지 모두 손이 갑니다. 한 번 패널을 돌릴 때마다 레시피 하나가 아니라 조리 조건과 보관 조건까지 함께 묶여서 평가되어야 하니까요.
더 까다로운 점은 패널이 한 번에 하나의 결론만 낸다는 데 있습니다. 이 시제품이 저번 시제품보다 목표에 가까워졌는가라는 질문에 답하려면 패널을 다시 열어야 합니다. 개발 속도를 올리고 싶어도 평가 속도가 따라주지 않으면 전체 반복이 패널 일정에 묶입니다. 실제로 식물성 제품 개발에서는 맛 조정 한 번에 몇 주가 걸리는 일이 드물지 않습니다.
여기서는 조금 조심해서 읽을 필요가 있습니다. 패널이 느리다고 해서 패널이 부정확하다는 뜻은 아닙니다. 오히려 반대에 가깝습니다. 사람이 직접 먹는다는 점에서 패널은 여전히 정답에 가장 가까운 측정입니다. 문제는 그 정답을 확인하는 가격이 너무 비싸서 자주 물을 수 없다는 데 있습니다. 그래서 계산 모델의 역할은 패널을 대체하는 것이 아니라, 패널에 올리기 전에 될 만한 후보를 추리는 일이 됩니다. 저는 이 구분이 벤치마크를 읽는 출발점이라고 봅니다.
21,000번의 맛 평가를 순위 문제로 바꾼 이유
TasteBench가 내놓은 식품 수준 과제는 규모부터 눈길을 끕니다. 215개 식물성 식품에 걸쳐 21,000개가 넘는 인간 평가를 모았고, 24개 제품 카테고리 안에서 같은 종류끼리 비교한 935개 순위 쌍을 만들었습니다. 버거는 버거끼리, 우유는 우유끼리 묶어서 어느 쪽이 동물성 원본에 더 가까운지를 묻는 구조입니다.
이 설계에는 질문을 바꾼 흔적이 있습니다. 흔히 맛 연구를 떠올리면 5점 만점에 몇 점 같은 절대 점수를 상상하는데, 이 논문은 점수 맞히기 대신 순위 맞히기를 택했습니다. 왜 그랬을까요. 사람마다 짠맛을 느끼는 강도가 다르고, 점수를 매기는 버릇도 달라서 절대 점수는 흔들리기 쉽기 때문입니다. 어제는 4점을 줬던 맛을 오늘은 3점으로 주는 일은 누구에게나 생기죠. 반면 두 개를 나란히 놓고 어느 쪽이 더 비슷했는지를 고르는 일은 훨씬 안정적입니다.
일종의 상대평가처럼요. 수능 점수 대신 등수를 묻는 셈인데, 개발 현장의 질문과도 잘 맞습니다. 연구실에서는 이번 시제품이 지난 시제품보다 나아졌는지가 궁금하고, 그 답은 순위 형태로 바로 쓸 수 있으니까요. 24개 카테고리로 나눈 선택도 같은 맥락에서 읽힙니다. 버거와 요거트를 한 줄로 세우는 일은 의미가 없지만, 같은 카테고리 안에서의 순위는 바로 다음 실험으로 이어집니다. 숫자의 크기도 중요하지만, 저는 이 문제를 어떤 모양으로 깎았는지가 더 중요하다고 봅니다.

분자 15,000개가 식품 215개와 만나는 지점
맛 이야기를 하다 보면 자주 부딪히는 벽이 있습니다. 분자는 분자대로, 식품은 식품대로 따로 논다는 것입니다. 향료 분자 하나가 단맛 수용체에 어떻게 붙는지를 아는 것과, 오트밀크 한 잔이 우유처럼 느껴지는지를 아는 일 사이에는 큰 간격이 있습니다. 조리 과정에서 생기는 반응, 지방과 단백질이 만드는 질감, 향이 코로 올라오는 타이밍까지 한꺼번에 얽히기 때문입니다.
TasteBench는 이 간격을 메우려고 분자 수준 과제를 하나 더 두었습니다. 15,000개 향미 분자에 대한 맛 분류가 그것인데, 화학 구조에서 감각 신호로 이어지는 연결고리를 따로 연습시키는 장치에 가깝습니다. 식품 215개만으로는 분자 문법을 배우기 어렵고, 분자 15,000개만으로는 실제 식품의 복잡함을 담기 어렵기 때문입니다. 두 과제를 나란히 두면 아래층에서는 화학 구조를 읽고, 위층에서는 실제 먹는 경험을 순위 형태로 배우는 모양이 됩니다.
개인적으로 이 대목에서 분자와 식품을 한 파이프라인에 넣은 시도가 마음에 들었습니다. 약 발견에서 분자 docking이 후보를 추리듯, 식품에서도 분자 수준 신호가 초기 스크리닝에 쓰일 수 있다는 가설을 벤치마크 형태로 못 박았기 때문입니다. 물론 분자에서 식품까지 곧바로 이어지는 직선은 없습니다. 같은 향미 분자라도 어떤 매트릭스에 들어 있느냐에 따라 전혀 다르게 느껴지니까요. 하지만 아래층 학습이 위층 예측에 어떤 도움을 주는지를 물을 수 있게 되었다는 점 자체가 진전입니다. 그렇다면 이렇게 모은 인간 판단은 과연 얼마나 믿을 수 있을까요.
각자 말이 다르면 정답은 어디에 있을까요
맛 패널에서 가장 당황스러운 순간은 사람들이 서로 다른 말을 할 때입니다. 한 사람은 충분히 비슷하다고 하고, 다른 사람은 전혀 다르다고 말합니다. TasteBench가 보고한 평가자 간 일치도는 Krippendorff alpha 0.077로 매우 낮습니다. 사실상 각자의 입맛이 제각각이라는 뜻인데, 처음 보면 데이터가 잘못된 것은 아닌지 의심하게 됩니다.
그런데 저는 이 숫자를 보고 오히려 고개를 끄덕였습니다. 맛이라는 감각 자체가 원래 그런 신호이기 때문입니다. 유전적으로 쓴맛에 민감한 정도가 다르고, 어릴 때 먹던 음식의 기억도 다르고, 그날의 컨디션까지 개입합니다. 같은 식물성 치즈를 두고 한 사람은 고소하다고 하고 다른 사람은 비리다고 하는 일이 전혀 이상하지 않죠. 패널 개개인의 판정이 흔들린다는 것은 결함이라기보다 측정 대상의 성질에 가깝습니다.
여기서 재미있는 질문이 생깁니다. 각자의 말이 다 다르다면 정답은 어디에 있는 걸까요. 논문이 택한 답은 패널을 모으는 쪽입니다. 여러 사람의 판정을 합치면 개인의 흔들림이 서로 상쇄되면서 안정된 순위가 드러난다는 것입니다. 실제로 패널 집계 순위의 split-half 신뢰도는 0.825까지 올라갑니다. 개개인은 자주 엇갈리지만, 여럿이 모인 평균은 꽤 단단하다는 뜻입니다. 이 차이는 생각보다 중요합니다. 모델이 맞춰야 할 목표가 개인의 입맛이 아니라 패널이 모였을 때의 판단이라는 점을 분명히 해주기 때문입니다.

0.077이라는 숫자를 어떻게 읽어야 할까요
0.077과 0.825라는 두 숫자를 나란히 두면 벤치마크의 성격이 보입니다. 앞의 숫자는 개인 수준에서 맛이 얼마나 주관적인지를 말해주고, 뒤의 숫자는 집단을 모으면 어디까지 믿을 수 있는지를 말해줍니다. 뒤의 숫자는 모델 평가의 상한선 구실도 함께 합니다. 아무리 좋은 모델이라도 0.825를 훌쩍 넘는 점수를 낸다면 그건 맛을 더 잘 맞힌 것이 아니라 평가의 노이즈를 외운 것일 수 있기 때문입니다.
저희가 새로운 AI 아키텍처를 볼 때도 벤치마크 숫자만 보지는 않습니다. 실제로 무엇이 바뀌었고, 그 변화가 시스템에서 어떤 비용 구조를 만드는지를 함께 봅니다. 여기에서도 같은 눈으로 볼 필요가 있습니다. 상한선이 있다는 것은 리더보드 꼭대기를 향한 무한 경쟁이 아니라, 어느 지점부터는 모델 개선보다 평가 설계 개선이 더 중요해진다는 뜻이니까요.
또 하나 짚고 싶은 점은 이 상한선이 낙관도 비관도 아니라는 데 있습니다. 0.825는 꽤 높은 편이라 모델이 배울 만한 신호가 데이터 안에 살아 있다는 것을 보여주지만, 동시에 1.0에는 닿지 않아서 완벽한 정답지가 없다는 것도 말해줍니다. 맛처럼 주관적인 영역에서는 이것이 건강한 설정입니다. 모델에게 개인의 취향까지 맞히라고 요구하는 대신, 다수가 모였을 때 수긍할 만한 순위를 맞히라고 요구하는 셈입니다. 그렇다면 현재 모델들은 그 요구에 얼마나 다가갔을까요.
중간값 패널리스트와 나란히 선 0.661의 의미
논문이 보고한 숫자는 해석할 맛이 있습니다. 패널리스트가 직접 평가한 쌍에 대해서는 가장 좋은 베이스라인이 0.661의 쌍별 정확도를 냈고, 이는 개별 패널리스트의 중간값인 0.650과 견줄 만한 수준입니다. 전체 카테고리 내 쌍으로 넓히면 정확도는 0.683까지 올라갑니다. 얼핏 보면 소수점 둘째 자리 싸움 같지만, 맥락을 붙이면 꽤 묵직해집니다.
우선 0.661이라는 숫자는 모델이 평균적인 사람만큼은 한다는 뜻입니다. 패널 한 명을 섭외해서 물어보는 대신 모델에게 물어도 비슷한 답이 돌아온다는 것이죠. 실제 시스템 관점에서 보면 다음 질문이 바로 생깁니다. 그렇다면 패널을 절반으로 줄이고 나머지를 모델로 메울 수 있을까요. 논문이 그 답까지 내리지는 않지만, 적어도 그런 운영을 상상할 수 있는 출발선에는 섰습니다.
반면 0.825라는 상한선까지는 아직 거리가 있습니다. 개인의 중앙값은 넘었지만 집단의 지혜에는 못 미친다는 뜻인데, 저는 이 간격이 오히려 벤치마크의 수명을 보여준다고 봅니다. 바로 다음 논문이 깨버릴 수 있는 허술한 기록이 아니라, 여러 세대의 모델이 달라붙어 깎아갈 만한 여백이 남아 있다는 뜻입니다. 숫자만 보면 밋밋하지만, 숫자 뒤의 구조를 보면 꽤 잘 설계된 출발점입니다.

네 가지 입력을 따로 떼어놓고 본다면
TasteBench의 또 다른 매력은 베이스라인을 네 가지 입력 조건에 걸쳐 평가했다는 점입니다. 분자에서 식품까지 이어지는 문제인 만큼, 무엇을 보여주느냐에 따라 모델의 답이 달라질 수밖에 없기 때문입니다. 성분표만 보여줄 때와 향미 분자 정보까지 함께 보여줄 때, 혹은 제품 설명 문구까지 곁들일 때 모델의 순위 판단이 어떻게 바뀌는지를 따로 볼 수 있다는 점입니다.
이렇게 입력을 나눠서 보는 일은 실제 개발과도 닮았습니다. 초기 스크리닝 단계에서는 분자나 원료 수준 정보만 있고, 시제품이 나온 뒤에야 맛본 기록이나 관능 묘사가 쌓이기 때문입니다. 어떤 단계에서 모델이 쓸모 있는지를 알려면 입력 조건별로 성능을 쪼개봐야 합니다. 전부 다 보여주고 맞히는 것보다, 적게 보여주고도 맞히는 조건을 찾는 편이 운영에서는 훨씬 값지죠.
여기서는 조금 조심해서 읽을 필요가 있습니다. 입력이 많아질수록 점수가 오른다고 해서 그 입력이 원인이라고 단정할 수는 없기 때문입니다. 어떤 입력 조합은 카테고리 편향을 탈 수도 있고, 어떤 조합은 특정 원료의 흔적을 외울 수도 있습니다. 그래서 ablation처럼 한 조각씩 빼보면서 무엇이 실제로 기여했는지를 묻는 과정이 뒤따라야 합니다. 논문이 네 가지 조건을 깔아둔 덕분에 그 질문을 던질 탁자가 마련된 셈인데, 제가 앞으로 보고 싶은 것은 바로 그 탁자 위에서 오가는 다음 분석입니다. 어떤 입력이 어느 카테고리에서 먹히고, 어디에서는 통하지 않는지를 까는 작업 말이죠.
숫자가 아니라 구조를 봐야 하는 이유
벤치마크 논문을 읽을 때 흔히 빠지는 함정이 있습니다. 리더보드 숫자만 보고 다음 주에 바로 쓸 수 있는 모델이 나왔다고 기대하는 것이죠. TasteBench는 그런 기대와는 거리를 두는 편이 건강합니다. 이 논문이 내놓은 것은 당장 패널을 없애주는 마법 모델이 아니라, 패널을 얼마나 줄일 수 있는지를 재는 자이기 때문입니다.
실제로 0.683이라는 전체 정확도를 현장 언어로 바꾸면 이런 뜻이 됩니다. 열 쌍을 물으면 일곱 쌍 정도는 맞히고 세 쌍 정도는 틀린다는 뜻입니다. 중요한 결정을 앞두고는 여전히 사람의 입이 필요하지만, 후보가 수십 개 쌓여 있을 때 위에서부터 자르는 용도로는 쓸 만합니다. 전부 자동화하는 대신, 사람이 봐야 할 분량을 줄여주는 방향으로 읽어야 숫자가 헛된 기대를 만들지 않습니다.
또 하나 놓치기 쉬운 점은 카테고리 안 비교라는 제약입니다. 935개 쌍이 모두 같은 카테고리 안에서 만들어졌다는 것은 모델이 버거와 요거트를 넘나드는 잡학 지식을 뽐낼 필요가 없다는 뜻입니다. 대신 각 카테고리의 미묘한 차이를 읽어야 합니다. 식물성 우유 안에서도 귀리 베이스와 콩 베이스의 고소함이 어떻게 다른지 같은 것이죠. 이런 좁고 깊은 판별이 쌓여야 실제 제품 개발에 쓸 수 있습니다. 넓게 아는 모델보다 좁게 정확히 구분하는 모델이 필요한 장면이 여기입니다.

다음에 제가 보고 싶은 실험은 이것입니다
여기까지 오면 자연스럽게 다음 질문이 생깁니다. 이 벤치마크를 딛고 무엇을 해야 할까요. 저는 세 가지가 궁금합니다. 첫째는 시간 방향으로의 일반화입니다. 올해 나온 제품으로 배운 모델이 내년 레시피에도 통할까요. 원료 수급이나 가공 기술이 바뀌면 맛의 분포 자체가 움직이는데, 그 움직임을 따라가는지를 보지 않으면 현장에서 쓰기 어렵습니다.
둘째는 설명의 문제입니다. 순위를 맞히는 데서 그치지 않고, 왜 그 순위를 냈는지를 사람이 알아들을 말로 풀어낼 수 있을까요. 지방 함량 때문인지, 특정 향미 분자 때문인지, 아니면 질감 묘사 때문인지를 가리켜주면 개발자가 다음 시제품을 어떻게 고칠지 바로 감이 옵니다. 점수 하나보다 그런 한 줄 설명이 현장에서는 더 값질 때가 많죠.
셋째는 패널 운영과의 결합입니다. 모델이 확신하는 쌍은 건너뛰고, 모델이 헷갈리는 쌍만 사람에게 묻는 식의 능동 학습이 실제로 패널 비용을 얼마나 줄여주는지를 재는 실험 말이죠. 0.661이라는 숫자가 운영 지표로 바뀌는 지점이 바로 여기입니다. 정확도 몇 퍼센트가 아니라 패널 횟수 몇 번을 아꼈는지를 묻는 순간, 벤치마크는 논문 바깥의 시간표와 만나게 됩니다.

이 논문이 흥미로운 이유는 맛이라는 가장 주관적인 감각을 순위라는 가장 단단한 형태로 바꿔서 기계가 배울 수 있게 만들었다는 데 있습니다. 분자 15,000개와 식품 215개, 평가 21,000개와 순위 쌍 935개라는 숫자는 그 변환의 재료이고, 0.077과 0.825 사이의 간격은 그 변환이 왜 필요했는지를 말해줍니다. 앞으로 이 간격을 메우는 모델이 나올 때마다 저는 숫자보다 그 뒤의 구조를 먼저 볼 생각입니다. 무엇을 보여줬을 때 맞혔는지, 그리고 그 답이 다음 시제품을 어떻게 바꾸는지를 말이죠.