[도시 실험 이야기]버려지는 식품을 구조해 공정하게 분배하는 도시 실험 프로젝트, SMUC.Kitchen Field Test

패치워크는 올해 도시에 새롭게 등장하는 문제들에 관심을 가지고 이를 해결하고자 하는 사람들과 함께 연구와 실험을 진행해 왔습니다. 막연하게만 생각하던 '도시실험'이라는 개념을 실천하고 있는 사람들의 이야기를 들을 수 있어서 어렵지만 흥미로운 시간을 보내고 있습니다. 지난 10월, 온라인으로 빅토르 베되(Viktor Bedö)를 초청해 SMUC(Scaling Material Urban Commons) 프로젝트 사례와 인사이트를 청해 들었는데요. 배울 점이 많은 이야기라 이곳에도 기록해 봅니다.

Scaling Material Urban Commons(2021–2024)는 편향된 알고리즘이 확산되는 시대에, 도시 자원을 공정하게 다루는 알고리즘 거버넌스의 방향을 모색한 '크리티컬 메이킹(critical making)' 프로젝트로, 구조된 식품(rescued food)을 분배하는 과정에서 집합적 머신 티칭(collective machine teaching)과 커뮤니티 기반 데이터 실천을 실험했습니다. 



smuc.kitchen 필드 테스트(Field Test)는 버려질 음식을 배분하기 위한 ‘커뮤니티 기반 머신 티칭(machine teaching)’ 방식을 탐색하기 위해 참여적 디자인과 크리에이티브 코딩을 활용하여 진행되었다. 6주간의 필드 테스트는 사회적 교류(socialising) 이벤트, 3회의 ‘어셈블리(Assembly)’ 회의, 그리고 두 차례의 1주일간 식품 배달 단계로 구성되었다. 바젤(Basel)을 기반으로 한 음식 구조 단체 FoodAngels가 배달에 필요한 구조 식품을 제공했다. 참여자들은 하나의 어셈블리를 구성해 구조된 식품의 분배 방식에 대해 협의하고, 이를 조율하는 역할을 하게 될 ‘Food Distribution Engine(식품 배분 엔진)’을 함께 가르쳤다.


안녕하세요, 저는 지금 연구자이자 서비스 디자이너이자 교육자로서 활동하고 있습니다. 저희가 진행한 프로젝트는 학술적인 부분과 산업적 측면에서의 디자인 전략이 합쳐진 프로젝트라고 생각하시면 될 것 같고요. 그래서 이론적으로 가능했던 것들을 실제로 실험하면서 체득한 것들을 공유하는 발표가 되겠습니다.

이 프로젝트의 배경을 말씀 드릴텐데요. 실험적으로 디자인한 프로젝트라는 말씀을 드리면서 시작하겠습니다. 사실 저희 프로젝트는 '스마트 시티를 어떻게 다른 방식으로 운영할 수 있을것인가'에 대한 고민으로부터 출발했습니다. 스마트 시티라는 것이 불공정한 미래를 보여주는 통제 중심의도시가 되어가지 않나라는 생각에서 기술을 이용해 우리가 만들어갈 수 있는, '보다 공정한 도시의 모습은 무엇인가'라는 고민에서 출발했다는 것부터 말씀드리겠습니다.


0155a2a92c99f.jpg


저희가 가졌던 가장 큰 질문은 '어떻게 분배 시스템을 공정하게 설계할 것인가'였어요. 일단은 서로를 알아야 하잖아요. 사람들이 서로를 알게 되고 성향은 어떤지 식이 습관이 어떤지 어떤 알러지가 있는지 누구는 요리하는 걸 좋아하고 누구는 그냥 먹는 것을 좋아하는지... 이런 식생활을 알기 위해서는 공동체적이고 화기애애한 분위기에서 논의를 해야 하는데요. 그런 단계를 거쳐 우리가 공정하게 배분할 수 있는 알고리즘까지 짜야 하는데 그 과정을 어떻게 가져갈것인가가 가장 큰 질문이었습니다.

이것을 실행하기 위한 세 가지 단계가 있었는데요. 일단 참여하는 사람들이 모여서 논의를 시작했어요.요리에 관심이 있고 푸드 시스템에 관심이 있는 사람들입니다. 누구는 빵을 좋아하는데 어떤 특정한 빵을 좋아하고 먹기를 원한다, 누구는 피클을 좋아하고, 누구는 운동을 하기 때문에 단백질에 대한성향에 있다 등 이런 것들을 이해해야 했죠. 이 이해를 기반으로 기준을 설정하고 (만약 브로콜리가 있다면 누가 이 브로콜리를 가져갈 것인가) 머신 티칭을 해서 분배 규칙을 정했습니다.

그런데 지금까지의 과정은 커뮤니티 가드닝의 방식과 별반 다르지 않습니다. 유사한 인풋을 넣고 수확물을 분배하는 그런 규칙을 정할 수 있잖아요. 저희가 차이가 있는 것은 어떤 규칙을 정했다고 하면 어떤 정보가 필요한지를 파악한다는 점이었어요. 참여하는 사람들의 주방에서 어떤 것을 가져와야지만 모든 사람들이 원하는 바를 달성할 수 있는가를 확보하는 방법을 찾는 것이 중요했습니다.


 2342499fb38c1.jpg


저희가 만든 인프라에는 3개 정도의 레이어가 있습니다. 각자의 주방과 팬트리에 식품들이 남아 있을 거잖아요. 참여자들이 각자의 집에 무언가가 있다는 것을 입력할 수 있는 인터페이스, 그 다음 작업은 데이터 라벨링인데요. 이건 나중에 조금 더 자세히 말씀드리겠습니다. 세번째는 모델을 트레이닝하는 겁니다. 가장 재미없는 분야이기도 하고 기술적이기도 합니다. 음식을 내놓는 사람들이 입력을 하면 어떤 식품이 가능한지를 파악하고 참여자들에게 어떤 식품을 배송할 것인지를 파악할 수 있게 되고요. 이를 기반으로 분배 알고리즘이 만들어지게 됩니다. 이 분배 알고리즘은 저희가 실험을 해나가면서 계속해서 트레이닝을 하게 됩니다.

프로젝트를 진행하면서 몇 차례 모임을 가지면서 식품 분배를 어떻게 할 것인가를 논의하고, 기본적인 규칙을 설정합니다. 이걸 만들고 나서의 활동들이 매우 흥미롭게 전개되었는데요. 커뮤니티 차원에서의 머신 티칭이 일어나는 겁니다. 그러니까 음식을 제공하는 사람이 사실은 데이터를 생성하는 거죠. 참여하는 모든 사람들의 주방에 있는 음식의 종류, 상태 등이 기록되는 거예요. 그 다음에 모여서 누가 뭘 좋아하고 싫어하고 이런 것들을 고려해 일일이 라벨링을 하는 겁니다. 라벨링을 정확하게 해놓으면 원하는 것을 받을 수 있도록 데이터가 정리됩니다. 이렇게 협의를 거치면서 머신 티칭의 룰을 정하고, 이를 기반으로 라벨링을 해서 데이터를 생성하게 되고요. 이것을 실행하면 식품을 공정하게 배분할 수 있는 시스템이 완성되는겁니다.

아시겠지만 알고리즘이라는 것이 데이터가 많이 들어가면 들어갈수록 더 좋은 결과가 나온다고 하잖아요. 머신 티칭 인터페이스를 열어놓고 라벨링을 시작하는데 한 300개 정도까지 라벨링을 하게 되면 굉장히 피곤해집니다. 그래서 거의 자동 모드화되거든요. 기계처럼 되어서 라벨링을 하고 있으면 '엘레니가 이걸 좋아했지', '줄리가 이게 필요하다고 했는데'하는 생각들이 사라지기 시작합니다. 그래서 정말 많은 라벨링이 생성이 되고 데이터 세트가 만들어지고 모델이 만들어지는데 사람이 수작업을 하게 되면 애초에 단초가 되었던 공동체적인 정서가 사라지게 되더라고요. 커뮤니티에서 머신 티칭을 한다는 건 좋은 일이지만, 직접 해보니 한계가 있다는 것도 알게 되었어요. (웃음)


69634201242e9.jpg

150e76aaa704e.jpg

2d57098631dbf.jpg


사람들이 이 작업을 하게 되면 AI 어떻게 작동하는지, 어떤 데이터가 필요한지, 결과물이 대충 어떻게 나오는지에 대한 것들을 가늠하게 됩니다. 이해력이 높아지는거죠.이 사람이 AI 알고리즘에 대한 자율성이 높아졌다고 할 수 있습니다. 이렇게 되면 결과가 나왔을 때 만족스럽지 않으면 머신을 다시 트레이닝 시켜야겠다고 결정을 할 수 있게 됩니다. 머신을 다시 가르치고, 더 나은 모델로 만들어낼 수 있게 되는 거죠. 이런 방식이 아닌 남이 만들어놓은 AI를 사용하게 되면 결과가 불만족스럽고 뭔가 좀 이상하다고 해도 자율성을 획득하지 못하게 되고, 의사 결정 능력에도 훼손이 가게 됩니다.

저희가 집단적으로 데이터 라벨링을 해보니 이게 머신을 가르치는 가장 핵심적인 활동이라 할 수 있습니다. 사람들이 자기가 알지도 못하고 데이터 라벨링을 하는 경우들이 있거든요. SNS에서 자기도 모르게 요구받는대로 뭔가 행동을 하면 저절로 데이터 라벨링이 되는데, 그 활동에 참여했음에도 거기서 얻는 이익이 없죠. 하지만 저희 프로젝트에서는 데이터 라벨링을 직접 하고 그 과정을 체험했기 때문에 그렇게 해서 만들어진 시스템이 가지는 실제적인 가치를 알 수 있게 됩니다. 외부 개입 없이 우리끼리 데이터 라벨링을 한거죠. 우리가 AI의 미래를 생각할 때 반드시 고려해 봐야 하는 부분이라고 생각합니다. 우리가 시간을 들여서 우리가 가진 데이터의 라벨링을 했을 때 그 데이터가 들어간 인프라의 가치를 우리가 실제적으로 알 수 있게 된다는 것이죠.

그리고 이 활동을 하면서 알게 된 건 데이터 자체에 그 참가자들의 편향이 끼어 있다는 사실을 아는 것입니다. 사실 모든 AI 훈련 데이터는 외부의 상관없는 사람들인 경우가 많거든요. 그런데 우리는 우리 데이터를 가지고 직접 라벨링을 했기 때문에 '어떻게 분배를 해야 공정하다'라는 우리가 가진 세계관과 가치과 그 안에 들어가게 됩니다.


62c9c2269cc4a.jpg

3d810024fd3c2.jpg


저희 경험에서 가장 중요한 교훈은 이겁니다. 저희가 데이터 라벨링을 하고 머신 티칭을 하고 모델을 구성했잖아요. '이걸 다른 커뮤니티에도 그대로 적용할 수 있을까' 했을 때 그럴 수 없다는 겁니다. 저희가 했던 이 프로젝트는 바젤에 사는 이 커뮤니티의 경험이 녹아든 겁니다. 이 모델이 좋다고 해서 다른 커뮤니티에 이식하려고 한다면, 이 모델에 들어간 데이터에 끼어 있는 참여자들의 기준과 성향이 그대로 넘어갈 수밖에 없기 때문에 다른 커뮤니티가 이 모델을 사용했을 때는 원하지 않는 결과가 나올 수 있다는 한계점이 있습니다. 이것이 확장에 있어서의 유리 천장이라고 할 수 있겠습니다.

그리고 신뢰의 문제도 생각해 보아야 합니다. 이 커뮤니티에 참여한 사람들은 서로를 아는 사람들입니다. 그래서 데이터 라벨링을 할 때 '제대로 하겠지'라는 신뢰가 기본적으로 있습니다. 음식을 받아볼 사람들의 기본적인 성향을 이해하고 염두에 두고 하는 활동이니까요. 

커뮤니티 기반의 머신 티칭에 있어서 중요한 것은 '티칭을 반복할 수 있는 역량'입니다. 규칙을 만들고 분배의 모델을 만들었을 때 '커뮤니티 자원을 이렇게 분배해서 제대로 사용하자'는 것인데 그 결과물이 만족스럽지 않았을 때는 경고를 울리고 그 경고에 따라 커뮤니티의 자율성을 재가동해서 머신을 리티칭할 수 있어야 합니다. 그렇게 해야지만 모델이 원하지 않는 결과를 내는 그런 상황을 예방할 수 있는 것이죠. 그렇게 머신을 리티칭할 수 있어야 한다는 것, 그리고 데이터를 라벨링하는 과정이 투명하게 이루어져야 한다는 것이 중요하다는 것, 그리고 여기서 사용하는 데이터는 모두 맥락적인 데이터이기에 결과물을 다른 커뮤니티에 그냥 확장해서 사용하거나 일반화하기는 어렵다는 점을 말씀드리고 싶습니다.

여기서 중요한 건 사람들이 더 많이 참여하고 큰 커뮤니티를 대상으로 하는 게 중요한 게 아니라 사람들이 참여하는 프로세스가 확장성이 있어야 한다는 겁니다. 사람들이 모여서 서로 대화를 나누고 활동을 하면서 데이터에 대한 맥락을 확보하고 데이터를 트레이닝해서 모델을 구성하는 이 과정 자체가 확장성이 있어야지만 모든 커뮤니티가 자신의 데이터를 가지고 그 과정에 따라 자신의 모델을 구축할 수 있게 되는 것이죠.


9a43e5e019b53.jpg


사진 및 자료 출처 | SMUC