클라우드 기반 Docker 컨테이너로 경력에 적합한 엔지니어링 기술 구축

소프트웨어 설정 대신 수학적 모델링에 집중한 학생들


Anthony Patera는 MIT에서 학사, 석사, 박사 학위를 취득한 후 1982년부터 MIT에서 기계공학을 가르쳤습니다. 엔지니어들은 그동안 과학 컴퓨팅을 사용해왔지만 많은 핵심 과정에서는 거의 사용되지 않았습니다. 그 이유는 모든 컴퓨터에서 소프트웨어를 실행하는 데 어려움이 있는 것부터 충분한 연산 능력을 갖춘 시스템이 부족한 것까지 다양합니다. 그는 경력 중 여러 번 수업에서 더 많은 소프트웨어를 사용하려고 노력했습니다. "나는 포기했다"고 그는 말한다.

그는 최근 자신의 강좌 중 하나에서 우아한 솔루션을 구현했습니다. Patera의 박사후 연구원인 Kento Kaneko는 주요 계산을 수행하는 코드를 학생들이 클라우드에서 액세스할 수 있도록 쉽게 액세스할 수 있는 구성 요소로 패키징했습니다. Patera는 "이로 인해 문제 세트의 깊이가 바뀌고 상황을 더욱 적절하고 흥미롭게 만들 수 있는 범위가 달라집니다."라고 말합니다.

연구에서 강의실까지

이 솔루션은 Office of Naval Research의 보조금으로 시작되었습니다. Patera의 연구실에서는 PDE(편미분 방정식)을 사용하여 시간 종속 전도 문제의 솔루션에 대해 널리 사용되는 열 전달 근사치에 대한 오류 추정치를 제공하는 방법을 개발했습니다. 그러나 추정량을 사용하려면 단일 타원 PDE를 풀어야 합니다. 전 세계 전문가들과 작업 내용을 공유하는 것은 어려운 일이었습니다. 소스 코드 파일을 배포하려면 수신자가 환경과 종속성을 다시 생성해야 합니다.

“수년 동안 저는 학생들의 취업 준비를 위해 애썼습니다. 작업장은 시뮬레이션이 지배적입니다. 시뮬레이션의 핵심은 숫자를 얻는 것이 아닙니다. 그들이 옳다는 것을 아는 것입니다. 지금까지는 학생들이 이러한 기술을 연습할 수 있는 수단이 없었습니다.”

Anthony Patera, MIT 기계공학 교수

실행 파일로 공유하는 것을 고려했지만 업데이트를 배포하는 것은 어려울 것입니다. 또한 각 수신자에게는 실행 파일을 실행하기 위한 관리 권한이 필요하며 보안 목적으로 IT 부서에서 차단하는 경우도 있습니다. MathWorks와 논의한 후 그들은 Docker® 컨테이너 마이크로서비스라는 작업을 공유하기 위한 최적의 접근 방식을 찾았습니다.

컨테이너는 코드와 모든 종속성을 패키지화하는 독립적인 소프트웨어 단위이므로 애플리케이션은 모든 컴퓨팅 환경에서 동일하게 실행됩니다. Docker는 널리 사용되는 컨테이너 구현이자 소프트웨어 배포를 위한 사실상의 표준입니다. Docker 컨테이너는 운영 체제, 지원 라이브러리, 실행 런타임, PDE를 푸는 MATLAB® 코드 및 MATLAB 코드를 호출하는 HTTP API 엔드포인트(마이크로서비스라고도 함)를 캡슐화합니다. 기존 MATLAB 코드는 MATLAB Compiler SDK™를 사용하여 Docker 컨테이너 마이크로서비스로 쉽게 전환될 수 있습니다. Docker 컨테이너 마이크로서비스의 클라이언트 사용자는 개체의 기하구조를 입력으로 제공하고 웹 앱 중개자를 통해 또는 마이크로서비스 API를 통해 직접 오류에 대한 솔루션과 추정치를 받을 수 있습니다.

MATLAB PDE 소프트웨어는 Patera와 Kaneko가 토론토 대학의 Masayuki Yano 교수와 공동으로 개발했습니다. Patera는 “이 과정이 학생들에게도 아주 좋다는 생각이 들었습니다.”라고 말합니다. 그와 Kaneko는 Patera의 중간 열 및 물질 전달 수업에서 동일한 Docker 마이크로서비스 접근 방식을 구현했습니다. 세 가지 문제 세트에서는 HTM(Heat Transfer Microservice)을 사용합니다.

문제 세트 중 하나는 열교를 다루고 있습니다. 학생들은 건물 내부가 왼쪽에 있고 외부가 오른쪽에 있는 벽 단면 다이어그램을 받습니다. 벽은 강철 스터드가 있는 일부 지역을 제외하고 대부분 단열되어 있습니다. 스터드는 건물 내부에서 외부로 열을 효과적으로 전달합니다. HTM은 학생들을 위해 뒤틀린 2차원 시트처럼 보이는 온도 플롯을 생성합니다. 학생들은 차트가 지정된 오류 범위 내에서 정확하다는 것을 Patera에게 확신시켜야 합니다.

Patera는 “수년 동안 학생들이 직장에 적응할 수 있도록 준비시키느라 애썼습니다.”라고 말합니다. “작업장은 시뮬레이션이 지배적입니다. 시뮬레이션의 핵심은 숫자를 얻는 것이 아닙니다. 그들이 옳다는 것을 아는 것입니다. 지금까지는 학생들이 이러한 기술을 연습할 수 있는 수단이 없었습니다.” HTM을 ​​사용하면 학생들은 기계적인 계산이나 IT 소프트웨어 구성을 수행하는 대신 중요한 평가 기술을 개발하는 데 더 많은 시간을 할애할 수 있습니다.

Patera는 학부 교육에서 시뮬레이션의 중요성을 강조합니다. 학생들은 에너지 효율성 구축과 같이 관심을 가질 수 있는 주제와 관련된 현실적인 문제를 해결할 수 있습니다. 또한 다양한 종류의 복잡한 문제를 해결하는 데 필요한 모델링 기술을 확장합니다. Patera는 "이것은 '실수' 감지 기술을 개발하는 데 도움이 됩니다."라고 말합니다. “그들은 시뮬레이션이 올바른지 판단해야 합니다.”

Patera는 “마이크로서비스가 핵심 요소입니다.”라고 덧붙입니다. "필수적인 교육적 요소는 관리, 구현 및 접근과 관련된 실질적인 장벽으로 인해 방해받지 않습니다."

열교 문제의 온도 분포를 차트로 표시하는 Heat Transfer Microservice에서 생성한 플롯입니다.

Heat Transfer Microservice는 클라이언트 소프트웨어의 온도 분포를 표시하는 플롯에 대한 PDE 솔루션을 생성하고 전송합니다. (이미지 출처: Kento Kaneko)

클라우드에서

이미지 URL, 컨테이너 포트, 인수, 메모리 할당, 컨테이너의 각 인스턴스에 할당된 CPU 수에 대한 필드가 포함된 컨테이너의 업데이트된 이미지 파일 이름 및 구성 목록을 보여주는 스크린샷.

Google Cloud Run 구성. (이미지 출처: Kento Kaneko)

"저는 이것이 교육 과정을 민주화하는 마이크로서비스의 대표적인 예라고 생각합니다."

Anthony Patera, MIT 기계공학 교수

HTM Docker 마이크로서비스는 Google Cloud Platform™에서 실행되므로 학생들이 어디서나 액세스할 수 있습니다. Kaneko에 따르면 HTM은 업데이트가 쉽습니다. 효율적이고 안정적이며 확장 가능합니다. Google® Cloud Run 서비스는 여러 사람이 동시에 HTM을 사용하려는 경우 로드를 관리하기 위해 필요에 따라 리소스를 확장합니다. 이는 자동으로 수행되며 Kaneko는 하드웨어 프로비저닝에 대해 걱정할 필요가 없습니다.

학생들이 개인용 컴퓨터에서 구성 요소를 실행하더라도 반드시 클라우드 서비스에서 얻는 것과 동일한 성능을 얻으십시오. Patera는 결국 더 적은 리소스로 다른 대학의 학생들과 HTM을 공유하기를 원합니다. “저는 이것이 교육 과정을 민주화하는 마이크로서비스의 대표적인 예라고 생각합니다.”라고 그는 말합니다.

ChatGPT 등장

학생들은 수업에서 매우 좋은 성적을 거두었으며 소프트웨어에 대해 어떠한 불만도 제기하지 않았습니다. 그는 소프트웨어가 작동하지 않는 경우를 제외하고는 학생들이 예의바르게 행동하는 경향이 있다고 지적합니다. "하지만 학기 내내 불평은 한 번도 없었습니다."라고 그는 말합니다. “그렇다고 해서 그들이 교육적 경험을 즐기고 있다는 뜻은 아닙니다. 하지만 소프트웨어가 작동하고 있다는 것은 확실합니다.”

Patera와 Kaneko는 또한 사용자가 자연어로 문제를 설명할 수 있도록 시스템을 ChatGPT와 호환되도록 만들었습니다. 그러면 HTM을 호출하여 결과를 얻을 수 있습니다. 학생들에게는 모든 사람을 위한 ChatGPT 라이선스가 없기 때문에 아직 학생들에게 이 옵션을 제공하지 않았습니다.

MATLAB 단지 데스크탑에서 실험을 실행하기 위한 것이 아닙니다. 전문 환경과 학습 환경 모두에서 팀은 관련 종속성을 모두 포함하여 업계 표준 형식으로 MATLAB Compiler SDK 사용하여 코드를 배포할 수 있습니다. 이를 통해 MATLAB 애플리케이션은 다양한 운영 체제와 클라우드 플랫폼에서 일관되게 실행됩니다.

클라우드에서 Docker 마이크로서비스 실행을 통해 사용자는 간단한 명령줄부터 정교한 자연어 채팅 인터페이스에 이르기까지 다양한 인터페이스를 통해 MATLAB 애플리케이션과 상호 작용할 수 있으므로 소프트웨어 설정 및 IT 관리보다는 작업의 본질인 비판적 사고 및 문제 해결에 집중할 수 있습니다.

Patera와 Kaneko는 학생들이 단 한 줄의 코딩도 하지 않고 열 전달의 모델링 원리를 배울 수 있는 미래를 내다보고 있습니다. 결국 그들은 ChatGPT에 사과나 다른 물체의 사진을 보여줄 수 있을 것이며 모든 매개변수가 HTM 기능에 입력될 것이라고 말합니다. “그 말은 당신이 PDE를 알지도 못하는 사이에 PDE에 접근하고 있다는 뜻입니다. 물론 결과를 받아들이거나 거부하는 최종 결정은 학생이 내려야 합니다.”

Patera와 Kaneko는 또한 사용자가 자연어로 문제를 설명할 수 있도록 시스템을 ChatGPT와 호환되도록 만들었습니다. 그러면 HTM을 호출하여 결과를 얻을 수 있습니다.

냉장고에서 꺼낸 사과의 열 전달을 계산하기 위한 문제 설명, JSON 형식 데이터, 제안된 파일 이름 "apple-dunking-room-environment.json"을 보여주는 ChatGPT 사용자 인터페이스의 스크린샷.

ChatGPT에 입력된 문제 설명으로, 여기에서 JSON 형식의 데이터가 생성되고 제안된 파일 이름이 제공됩니다. (이미지 출처: Kento Kaneko)

파이(오차 분석에 사용되는 기하학 기반 수량) 다이어그램, 열 전달 계수 스크린샷, 시간 경과에 따른 사과의 온도 변화를 보여주는 그래프.

ChatGPT에서 생성된 JSON 파일은 GUI로 전달되어 Heat Transfer Microservice와 상호 작용합니다. (이미지 출처: Kento Kaneko)


다른 사례 읽기

패널 내비게이션

AI / 아카데미아

AI와 IoT를 사용한 바이오 연료 생산

온라인 인터페이스를 통한 학생들의 가상 실습 참여

패널 내비게이션
패널 내비게이션