Beyond Models: Reflections on Engineering AI-enabled Systems in a Project-Based Course
이 논문은 학생들이 AI 구성 요소를 전체 규모의 소프트웨어 아키텍처에 통합하는 법을 가르치는 브레멘 대학교의 프로젝트 기반 석사 과정을 성찰하며, 혼합 방법론 연구를 통해 아키텍처 설계 및 데이터 관리에서의 지속적인 과제를 강조하는 동시에 시스템 수준의 추론과 데이터 중심적 관행을 육성하는 데 있어 해당 과정의 성공을 입증한다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
당신이 예비 셰프들을 가르치는 수업을 하고 있다고 상상해 보십시오. 수년 동안 당신은 그들에게 단 하나의 레시피를 완벽하게 만드는 법을 가르쳐 왔습니다. 양파를 써는 법, 소스의 간을 맞추는 법, 케이크를 굽는 법 같은 것들 말이죠. 그들은 '케이크'를 만드는 데 있어서는 전문가입니다.
하지만 현실 세계에서 레스토랑은 단순히 케이크 하나만을 필요로 하지 않습니다. 레스토랑은 한 시간에 500개의 케이크를 구울 수 있고, 정전 상황을 처리하며, 재고를 관리하고, 고객이 갑자기 글루텐 프리 버전을 요청했을 때 적응할 수 있는 온전한 기능을 갖춘 주방을 필요로 합니다.
이 논문은 학생들이 '케이크'만이 아니라 그 '전체 레스토랑'을 구축하는 법을 가르치려 했던 한 대학교의 수업에 관한 것입니다. 이 수업의 이름은 "AI 알고리즘: 이론과 공학(AI Algorithms: Theory and Engineering)"이었으며, 학생들의 '레스토랑'은 영화 추천 시스템(넷플릭스나 스포티파이 같은 것)이었습니다.
다음은 이 논문이 발견한 내용을 쉬운 비유를 사용하여 정리한 것입니다.
거대한 문제: "숨겨진 부채"
저자들은 과거에 학생들이 AI 모델(케이크)을 만드는 법은 배웠지만, 이를 실제 소프트웨어 시스템(주방)에 어떻게 끼워 넣는지에 대해서는 배우지 못했다는 점을 지적합니다.
- 과거의 방식: 학생들은 영화를 예측하는 똑똑한 알고리즘을 만들었지만, 이를 웹사이트에서 어떻게 작동시킬지, 동시에 수천 명의 사용자가 접속할 때 어떻게 처리할지, 혹은 데이터가 지저도해질 때 어떻게 해야 할지는 알지 못했습니다.
- 새로운 방식: 이 수업은 학생들이 전체 시스템을 구축하도록 강제했습니다. 그들은 "배관"(데이터 흐름), "전기"(서버 인프라), 그리고 "안전 규정"(보안 및 모니터링)에 대해 고민해야 했습니다.
수업 구조: "스캐폴딩(Scaffolded)" 여정
단 한 번의 큰 기말고사 대신, 이 수업은 최종 보스전(학기 프로젝트)으로 이어지는 5단계의 비디오 게임과 같았습니다.
- 레벨 1-2: 학생들은 대략적인 프로토타입을 만들고 규칙(요구사항)을 작성했습니다.
- 레벨 3: 그들은 건물의 설계도를 그렸습니다(아키텍처). 거대한 모놀리스(Monolith)를 만들 것인지, 아니면 서로 연결된 작은 마이크로서비스들을 만들 것인지를 결정했습니다.
- 레벨 4: "만약에?(What If?)" 놀이를 했습니다(트레이드오프 분석). 그들은 "만약 우리가 더 빠르게 만든다면, 보안성이 떨어질까?"와 같은 질문을 던져야 했습니다.
- 레벨 5: 반전이 일어납니다. 교사가 중간에 요구사항을 변경했습니다. 학생들은 실제 소프트웨어 엔지니어들이 고객의 마음이 바뀔 때 하는 것처럼, 즉석에서 설계도를 수정하며 적응해야 했습니다.
- 최종 프로젝트: 그들은 실제로 실행 가능하고, 데이터를 처리하며, 변화에 적응할 수 있는 작동하는 영화 추천 시스템을 구축했습니다.
무엇이 잘못되었나? (도전 과제들)
연구진은 학생들의 작업물을 살펴보고 그들이 어떻게 느꼈는지 물었습니다. 주요 어려움은 다음과 같습니다.
- 팀 내의 "언어 장벽": 어떤 학생들은 코딩에는 능숙했지만 AI에 대해서는 전혀 몰랐습니다. 반대로 어떤 학생들은 AI의 귀재였지만 소프트웨어를 구축하는 법은 몰랐습니다. 이는 마치 전기 기술사가 배관사와 같은 언어를 쓰지 못하는 곳에서 집을 짓는 것과 같았습니다. 그들은 함께 무언가를 구축하는 방법에 대해 합의하는 데 어려움을 겪었습니다.
- "데이터의 혼란": 수업에서 데이터는 보통 깨끗하고 완벽합니다. 하지만 현실 세계의 데이터는 더러운 빨랫감 더미와 같습니다. 학생들은 단순히 "최고의" 알고리즘을 고르는 것보다 데이터를 정제하는 데(누락된 값 수정, 노이즈 제거 등) 대부분의 시간을 보냈습니다. 그들은 **쓰레기가 들어가면 쓰레기가 나온다(Garbage in equals garbage out)**는 것을 배웠습니다.
- "움직이는 목표": 레벨 5에서 요구사항이 바뀌었을 때, 많은 팀이 패닉에 빠졌습니다. 그들은 너무 경직된 시스템을 만들어 놓았습니다. 새로운 유형의 영화 데이터를 추가하는 것과 같은 작은 변화 하나가 데이터베이스와 코드의 일부를 허물고 다시 짓게 만들었습니다.
- "통합의 악몽": 데이터베이스, AI 모델, 사용자 인터페이스, 모니터링 도구와 같은 서로 다른 부분들이 충돌 없이 서로 통신하게 만드는 것이 가장 어려운 부분이었습니다. 이는 마치 자동차 엔진, GPS, 라디오를 서로 다른 제조사에서 만든 채로 함께 작동시키려는 것과 같았습니다.
학생들은 무엇을 배웠는가? (핵심 교훈)
이러한 어려움에도 불구하고, 이 수업은 성공적이었습니다. 학생들의 관점은 극적으로 변화했습니다.
- 모델이 아니라 데이터가 핵심이다: 학생들은 가장 똑똑한 AI 알고리즘을 고르는 것이 가장 중요한 부분이 아니라는 것을 깨달았습니다. 가장 중요한 것은 깨끗한 데이터와 이를 관리할 좋은 시스템을 갖추는 것이었습니다.
- 소프트웨어 엔지니어링이 왕이다: 뛰어난 AI 모델이라도 1,000명이 동시에 사용하면 무너진다는 것을 배웠습니다. 그들은 확장성과 안전성을 걱정하며 설계자처럼 생각하기 시작했습니다.
- 도구가 중요하다: 그들은 Docker(컨테이너), Kafka(데이터 스트리밍), 모니터링 대시보드와 같은 실제 세계의 도구들을 직접 다뤄보았습니다. 그들은 단순히 AI를 "생각"하는 것을 넘어, AI를 "엔지니어링"하기 시작했습니다.
결론
논문은 학생들이 복잡성으로 인해 고전했으며 교사들도 이들을 이끌기 위해 많은 노력을 기울여야 했지만, 이 수업이 "이론"과 "실제" 사이의 간극을 성공적으로 메웠다고 결론짓습니다.
교육자를 위한 주요 교훈: 학생들에게 단순히 케이크를 굽는 법만 가르쳐서는 안 됩니다. 만약 그들이 레스토랑을 운영하기를 원한다면, 주방을 만들고, 직원을 관리하고, 고객을 응대하는 법을 가르쳐야 합니다. 이 수업은 학생들에게 전체 시스템을 구축하게 하고 변화하는 요구사항을 다루게 함으로써, AI 기반 시스템을 엔지니어링하는 데 필요한 어렵고 혼란스럽지만 필수적인 기술을 가르칠 수 있음을 증명했습니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.