Amazon Web Services 한국 블로그
[AWS Heroes 특집] IT 교육 현장에서 AWS 인공 지능 및 Amazon Sumerian 활용기
이번 객원 저자는 AWS Machine Learning에 크게 기여해주신 Cyrus Wong 입니다. Cyrus 는 홍콩직업교육대학(Lee Wai Lee) 클라우드 혁신 센터의 데이터 과학자입니다. 9개의 모든 AWS Certification을 취득했으며, 오픈 소스 프로젝트, 블로그 포스트, 이벤트를 통해 다른 사람과 본인의 AWS에 대한 지식을 공유하고 있습니다.
제가 제작하고 있는 IVE에서는 매년 수천 명의 학생들에게 IT 교육을 제공하고 있으며, 교육 과정 중 하나에서는 AWS Educate 프로그램의 무료 크레딧 제도를 활용하고 있습니다. 최근에는 “Lab Monitor”라고 하는 오픈 소스 프로젝트를 구축하였습니다. 본 프로젝트에서는 AWS AI, 서버리스 및 AR/VR 서비스를 사용하여 실험실에서 학생들이 무엇을 하는지 이해하기 위해 학습 경험을 강화하고 데이터를 수집합니다.
교육 현장에서 문제점
실험실 활동에서 가장 일반적인 문제 중 하나는, 바로 학생들이 동영상을 본다거나 게임을 하는 등 교육 과정과는 상관이 없는 일들을 종종 한다는 점입니다. 그리고 실험실의 답변들이 소프트 카피 형식이기 때문에 친구의 답안을 쉽게 복사할 수도 있습니다. 보통 한 가지 답안만 존재하기 때문에 강사들은 이러한 학생들을 관리하는 데 애를 먹습니다. 누가 실험실에서 연구를 했으며, 누가 복사한 학생인지를 정확히 알지 못하는 것입니다!
해결 방안
Lab Monitor는 평가 모델을 최종 결과만 고려하던 방식에서 전체 개발 프로세스로 바꾸었습니다. 그리고 AWS AI 서비스를 사용하여 학생들을 지원하고 모니터링할 수 있습니다.
시스템은 다음 부분으로 구성됩니다.
- Lab Monitor Agent
- Lab Monitor Collector
- AR Lab Assistant
Lab Monitor Agent
Lab Monitor Agent는 학생의 컴퓨터 활동에 대해 실행되는 Python 애플리케이션입니다. 모든 정보는 주기적으로 AWS에 전송됩니다. 학생을 식별하고 API 게이트웨이를 보호하기 위해 각 학생은 사용량 제한이 있는 고유한 API 키를 보유합니다. 기능은 다음과 같습니다.
- 모든 키보드 및 포인터 이벤트 캡처. 이를 통해 키보드와 포인터를 사용하지 않고는 코딩 작업을 마칠 수 없으므로 학생이 실제로 실습을 수행하도록 보장할 수 있습니다! 또한, 학생들에게 단축키 사용을 권장하고 있습니다. 지표로 이러한 정보가 필요하기 때문입니다.
- PC 프로세스 모니터링 및 제어. 강사가 학생들이 실험실과 무관한 프로그램을 실행하지 않도록 막을 수 있습니다. 컴퓨터 테스트의 경우 모든 브라우저와 통신 소프트웨어를 종료할 수 있습니다. 하드웨어 업그레이드 여부를 결정하려면 자세한 정보를 처리하는 것이 중요합니다!
- 화면 캡처. Amazon Rekognition은 동영상이나 부적절한 콘텐츠를 감지할 수 있습니다. 추출된 텍스트 콘텐츠는 Amazon Sumerian 호스트를 트리거하여 학생과 자동으로 대화를 할 수 있습니다. 강사가 학생 모두의 화면을 감시하기란 불가능합니다! S3 Transfer Acceleration에서 사전 서명된 URL을 사용하여 이미지 업로드 속도를 단축합니다.
- 학생들이 코드를 저장하면 AWS에 소스 코드 업로드. 학생이 과제를 마친 시점을 확인하고 진도가 느린 학생에게 도움을 줄 때도 유용합니다!
Lab Monitor Collector
Lab Monitor Collector는 데이터를 수집하고 AR Lab Assistant에 API를 제공하는 AWS 서버리스 애플리케이션입니다. 상황에 따라 강사가 AWS Lambda 내부에서 단위 테스트를 실행하여 학생이 코드를 저장할 때마다 즉시 학생에게 등급을 매길 수도 있습니다. 그러면 지속적으로 Amazon S3 데이터 레이크에 모든 데이터가 저장되므로, 강사는 Amazon Athena를 사용하여 데이터를 분석할 수 있습니다.
비용을 절감하기 위해 예약된 Lambda 함수는 15분마다 강사의 수업 일정을 확인합니다. 앞으로 수업이 있으면 Kinesis 스트림과 Kinesis 데이터 분석 애플리케이션을 자동으로 생성합니다. 그러면 강사는 실시간에 가깝게 모든 학생의 활동을 볼 수 있습니다.
AR Lab Assistant
AR Lab Assistant는 실험실 실습에 대해 학생에게 미리 알리는 Amazon Sumerian 애플리케이션입니다. 여기서는 카메라 이미지를 Amazon Rekognition으로 보낸 후 학생 ID를 다시 받습니다.
Sumerian 호스트, Christine은 Amazon Polly를 사용하여 무슨 일이 생기면 학생과 대화합니다.
- 학생이 단위 테스트를 통과하면 축하한다고 말합니다.
- 학생이 영화를 보면 톰 크루즈와 같은 영화배우 이름을 언급하며 충고합니다.
- 학생이 음란물을 보아도 경고합니다.
- 학생이 Python 인터프리터 설정을 잊는 등 실수를 하면 이를 설정해야 함을 상기시켜줍니다.
학생들은 전반적인 진행 상황 등을 물을 수도 있습니다. 호스트는 Lex 챗봇에 연결할 수 있습니다. 학생의 대화는 Amazon Comprehend에서 제공하는 감정 분석 결과와 함께 DynamoDB에 저장됩니다.
학생 화면은 Sumerian 애플리케이션 내부의 프로젝터와 같습니다.
Christine: “Stop, watching dirty thing during Lab! Tom Cruise should not be able to help you writing Python code!”
단순화된 아키텍처 다이어그램
적용 결과 AR Lab Assistant 반응 결과는 https://youtu.be/YZCR2aROBp4 영상을 통해 확인할 수 있습니다.
마무리
다양한 AWS 서비스 기능을 결합하여, 이제 학생들은 실험실 실습에만 집중하고 다른 사람의 답안을 복사하는 행위는 막을 수 있습니다! 약 4개월에 걸쳐 프로젝트를 구축했으며, 아직도 계속 발전 중입니다. 향후 버전에서는 기계 학습 모델을 구축하여 학습 태도에 따라 학생의 최종 학점을 예측하려고 합니다. Christine과 함께라면 수업도 더 재미있어 질 것입니다.
마지막으로 AWS credit을 제공해준 AWS Educate와 AWS Academy 학생 개발자 팀(클라우드 및 데이터 센터 관리의 IVE 고급 과정의 Mike, Long, Mandy, Tung, Jacqueline, Hin)에게 감사의 말을 전합니다. 이들은 AWS Artificial Intelligence (AI) Hackathon에 지원했고 3위를 수상했습니다!
– Cyrus Wong (AWS Machine Learning Hero);