엔지니어링 교육에서는 모든 것을 다룰 시간이 부족합니다. 고용주는 반복적인 연구, 설계, 개발을 신속하게 처리할 수 있도록 시뮬레이션 도구를 능숙하게 다룰 줄 아는 엔지니어를 원합니다. 이를 해결하려는 일부 강사는 수치 방법의 파생 과정, 이산화 접근법, 난류 모델의 복잡성을 몇 주 또는 몇 달 동안 가르치지만, 이 방식은 현실적인 한계가 있습니다.
기초에 지나치게 집중하다 보면, 고용주가 원하는 시뮬레이션 기반 기술과 직관을 개발할 시간이 거의 없어지기 때문입니다.
응용 중심의 접근 방식을 시도하기도 했습니다. 소프트웨어 튜토리얼과 복잡한 프로젝트를 통해 학생들을 지도하고 멘토링하는 방식인데, 처음에는 이 방법이 적절한 해결책처럼 보였습니다.
그러나 이 방식에도 함정이 있습니다. 학생들이 기본 원리를 배우기도 전에, 복잡한 인터페이스와 수많은 설정이 포함된 소프트웨어 패키지를 사용하는 데 몰두하게 됩니다. 결국 학생들은 시뮬레이션 프로젝트와 소프트웨어를 어느 정도 다룰 수는 있지만, 수치적 방법의 기본 개념은 간과됩니다. 더 나아가 이런 접근은 고용주가 원하는 기술을 제대로 제공하지 못합니다.
제가 개발한 접근법은 더 직관적이고 강력한 자동화된 전산 유체 역학(CFD) 워크플로우를 공대생에게 제공하는 것입니다.
이 시뮬레이션 도구는 임의의 물체를 중심으로 수치 솔버를 사용해 AI 모델 학습용 데이터 세트를 생성하는 데 NVIDIA Modulus를 기본 프레임워크로 활용합니다. 이 AI 대체 모델(AI Surrogate model)은 설계 변형을 탐구하는 데 사용되며, 학생들이 직관적인 이해와 분석 능력을 기를 수 있는 실험 플랫폼으로 작동합니다.
교육용 엔지니어링 도구의 과제
교육자로서 저는 엔지니어에게 객관적이고 깊이 있는 성찰을 가르치는 데 중점을 둡니다. 기계공학적 관점에서 보면, 유한 요소 해석과 전산 유체 역학은 설계 및 해석 작업을 신속하고 효율적으로 처리하기 위해 만들어진 도구입니다.
시뮬레이션 도구는 현장에서 중요성이 사라지지 않았습니다. 그러나 교육자들이 이 도구의 복잡성과 활용법을 가르치는 데 지나치게 많은 시간을 할애하면서, 시뮬레이션 교육을 별도의 독립적인 과목으로 격상시킨 것이 오히려 문제를 악화시켰습니다.
시뮬레이션 도구는 학부 교육에서 독립된 과목으로 다뤄져서는 안 됩니다. 대신 모든 과정에 포함되어야 하며, 학생들이 다양한 복잡성과 관점에서 과제를 경험할 수 있게 해야 합니다. 이를 통해 학생들이 고용주가 원하는 고급 기술과 직관을 개발하는 데 충분한 시간을 확보할 수 있습니다.
학부 엔지니어링 교육에서 시뮬레이션 도구를 가르치고 통합하는 방식을 재구성한다면, 상당한 변화를 이끌어낼 수 있습니다. 학생들은 학업 초기부터 시뮬레이션 도구를 배우게 되며, 이렇게 재구성된 모델에서는 시뮬레이션 도구 교육만을 위한 별도의 과정을 두는 기존의 비효율적인 방식에서 벗어날 수 있습니다.
마치 같은 문제를 해결하기 위해 끝없이 반복되는 논리에 갇힌 것 같은 상황에서, 무엇을 할 수 있을까요? 엔지니어는 시뮬레이션 소프트웨어와 기술에 대해 더 많은 것을 요구해야 합니다.
빠름, 정확성, 간편함. 이는 엔지니어가 시뮬레이션 도구에서 기대해야 하는 특성입니다. 또한 이러한 특성은 강사들이 엔지니어링 교육 전반에서 도구를 효과적으로 활용하고, 미래의 엔지니어를 양성하는 데도 필요합니다.
교육 도구로서의 AI 모델
저는 가능한 모든 유체 흐름 문제를 해결하기보다는, 학생들을 위해 이러한 특성을 구현한 시뮬레이션 도구를 개발하는 데 집중했습니다.
MSOE의 유체 및 항공 관련 시니어 설계 프로젝트는 대부분 차량 주변의 외부 흐름과 관련된 문제를 다뤄왔습니다. 이를 해결하기 위해 저는 임의의 물체 주변의 흐름뿐만 아니라 기하학적 변형 그룹에 대해서도 시뮬레이션할 수 있는 자동화된 CFD 워크플로우를 구축했습니다. 생성된 데이터 세트는 메시그래프넷(MGN)의 훈련 및 검증 자료로 사용되어, 수백 개의 추가 지오메트리 변형에 대한 표면 응력과 힘을 추론하는 데 활용됩니다.
물리-기반 머신러닝(ML) 훈련 플랫폼으로 NVIDIA Modulus를 사용해 몇 가지 접근 방식을 실험했습니다. 초기 버전의 워크플로우에서는 물리 정보 신경망(PINN)을 활용했으나, MGN은 메모리 사용량을 줄이고 속도를 높이는 데 더 적합해 이 문제를 해결하는 데 매우 유용했습니다.
Ahmed Body AeroGraphNet의 예에서처럼, 메시 표면, 표면 압력, 표면 전단 응력, 레이놀즈 수, 주요 기하학적 파라미터를 모델 입력으로 사용했습니다. 이러한 파라미터는 가상 풍동 환경에서도 동일하게 활용되며, 임의의 3D 모델에서도 작동하도록 수정되었습니다.
앞으로 등장할 새로운 아키텍처를 통해 Modulus를 활용해 대체 모델을 더욱 효과적으로 개선할 것입니다.
학생들을 위한 장벽 제거
MSOE의 컴퓨팅 클러스터(Rosie)와 학생 포털(Open OnDemand)을 사용해 간단한 웹 제출 페이지를 개발했습니다. Open OnDemand는 기존의 명령줄 인터페이스(CLI)를 통한 제출도 가능하지만, 더 직관적인 인터페이스를 제공합니다.
학생들은 3D 모델을 업로드하고 레이놀즈 수를 지정한 뒤, 차량이 공중 기반인지 지상 기반인지, AI 지원 피드백을 받을지 선택하면 됩니다. 시뮬레이션이 완료되면 작업 결과가 이메일로 전송됩니다.
이메일에는 항력, 양력, 횡력, 압력 중심 정보뿐만 아니라 자동 생성된 유선형 도표와 동영상이 포함됩니다. 필요한 경우, 추가적인 도표를 만들기 위한 표면 응력 데이터 파일도 함께 제공합니다. 또한, AI 모델이 추론한 결과를 바탕으로 공기역학적 힘과 압력 중심을 조정할 수 있는 설계 변경 제안 이미지를 추가로 제공해, 학생들이 설계를 최적화할 수 있도록 돕습니다.
간단한 웹 양식과 이메일 방식은 공기역학 설계 제안에 비해 다소 구식으로 보일 수 있지만, 상호작용 방식을 새롭게 재구성한 것입니다. 학생들은 별도의 교육이 필요하지 않으며, 고성능 컴퓨팅(HPC)이나 CLI에 대한 지식도 요구되지 않습니다. 단순히 3D 모델을 업로드하고 흐름에 대한 간단한 레이놀즈 수 계산을 수행하면 됩니다. 완벽히 쉬운 단계는 아니지만, 점점 접근하기 쉬운 방향으로 나아가고 있습니다.
AI를 활용한 엔드투엔드 시뮬레이션 파이프라인
유효한 지오메트리를 보장하기 위해 임의의 삼각 메쉬를 수정하는 프로그래밍 솔루션을 만드는 대신, 다른 접근 방식을 선택했습니다.
학생이 제공한 모델을 볼류메트릭 또는 복셀화된 사본을 생성하는 데 활용합니다. 이후 이 볼류메트릭 사본에 표면 머티리얼을 추가하거나 제거하여 수백에서 수천 개의 베리언트를 만듭니다. 이렇게 변형된 볼류메트릭 데이터를 다시 메시화한 뒤, 이를 훈련, 검증, 추론 과정에 사용합니다.
원본 지오메트리와 훈련 및 검증 세트는 기존 CFD 솔버인 OpenFOAM에 입력될 모델로 사용됩니다. 생성된 오브젝트 메시의 총 셀 수는 일반적으로 15~20M, 표면 셀 수는 70~90만 개이며 솔버는 500회 반복해 결과를 산출합니다.
OpenFOAM의 출력 데이터는 원본 모델과 변형된 모든 모델의 표면 응력, 압력, 전단력을 포함합니다. 이후 이 데이터 세트는 관련된 기하학적 수정 파라미터와 함께 MGN을 사용하여 Modulus 훈련 파이프라인의 입력값으로 활용됩니다.
피드백 이미지와 비디오를 생성할 때는 훈련된 MGN의 추론 결과를 OpenFOAM 결과와 직접 비교하지 않습니다. 대신, 훈련, 검증, 테스트 세트를 대상으로 추론을 완료한 뒤, 추론된 결과를 서로 비교하여 이미지와 비디오 피드백을 만듭니다. 이렇게 생성된 피드백 자료는 학생들에게 이메일로 전송됩니다.
병렬로 처리되는 OpenFOAM 솔루션 하나를 완료하는 데는 1시간 이상 소요되지만, DGX-1 시스템에서의 훈련은 약 4시간이 걸리고, 로드된 메시에서의 추론은 1초도 채 걸리지 않습니다.
저는 가상 풍동에서 병렬 CPU OpenFOAM 실행을 통해 데이터 세트를 생성하고, 4개의 NVIDIA V100 GPU를 사용해 훈련과 추론을 진행하도록 설계했습니다. Rosie는 최근 NVIDIA H100 GPU로 업그레이드되었으며, 이를 활용해 풍동 처리 속도를 더욱 가속화하기를 기대하고 있습니다.
접근 가능한 CFD 시뮬레이션
학생들이 솔루션을 어떻게 활용하는지 알아보기 위해, 지난 학기에 학생들에게 가상 풍동의 초기 OpenFOAM 전용 버전을 제공했습니다. 학생들의 툴체인 사용 빈도가 증가하자 변형 자동 생성, 훈련, 추론 기능도 추가로 제공했습니다.
전반적인 결과는 긍정적이었습니다. 지난 학년도에 시니어 설계 그룹은 거의 10년 동안 수행했던 것보다 더 많은 CFD 분석과 풍동 실험을 진행했습니다. 이를 통해 학생들은 부차적인 문제를 해결하는 데 시간을 쓰기보다, 사용 가능한 시스템을 실험 플랫폼으로 활용하는 데 집중할 수 있었습니다. 저는 올해 세 개의 항공 분야 설계 프로젝트를 추가로 자문하고 있으며, 학생들이 어떤 설계와 개발을 할지 기대하고 있습니다.
최근 AI 소프트웨어와 기술의 발전으로 엔지니어링 툴과 시뮬레이션의 비약적인 발전이 가시화되고 있습니다. 엔지니어링 시뮬레이션 도구와의 상호작용 방식을 재구상하기에 지금이 가장 적절한 시기입니다. 초보자, 학생, 심지어 초등학생도 시작할 수 있도록 설계된 차세대 도구가 필요합니다.
전산 유체 역학 자체에 집중하는 대신 윙렛 모양의 반복적인 설계, 하체 벤츄리의 생체 모방 기능, 직관적 사고, 고급 분석 기술 등을 가르칠 수 있습니다.
시작하기
전 세계 교육자들은 NVIDIA DLI 티칭 키트 프로그램에 참여해 무료 과학 및 엔지니어링 딥 러닝 티칭 키트를 활용하며 AI 여정을 시작할 수 있습니다. 이 과정의 전체 강의 자료는 NVIDIA 온디맨드를 통해 전 세계 교육자와 학생들에게 제공됩니다.
AI를 탐구하는 데 관심이 있는 연구자를 위해서는 /NVIDIA/modulus GitHub 리포지토리가 좋은 출발점이 될 것입니다.
관련 리소스
- GTC 세션: 고급 딥 러닝 기술로 산업 유체 역학 혁신하기
- GTC 세션: 통합 머신 러닝 시뮬레이션 워크플로우를 위한 완전히 차별화되는 래티스-볼츠만 솔버
- GTC 세션 물리학 ML 모델을 개발하기 위한 NVIDIA Modulus 프레임워크 사용 방법
- NGC 컨테이너: MATLAB
- SDK: Modulus
- 웨비나 엔터프라이즈 요구 사항을 위한 생성형 AI 애플리케이션 구축하기