23.06.15
DEVOTEE를 활성화 시키면
지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.
버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.
| 컨텐츠 유형 | 제목 | 저장일 | 삭제 |
|---|
본인인증 로그인에 실패하였습니다.
회원이 아니시거나 본인인증 등록이
완료되지 않은 사용자입니다.
안녕하세요!
저희는 'Meta XR Device 활용 러닝 Agent 서비스 개발'을 진행하고 있는 Metaphor 팀입니다.
이번 기록에서는 저희가 지난 6월부터 현재까지 어떤 연구를 진행하였고, 남은 기간 동안 어떠한 연구를 계획하고 있는지에 대해 공유해 드리겠습니다.
저희의 과제의 핵심은 학생이 공부를 하는 와중에 모르는 부분에 대한 시각적 자료를 즉각적으로 보고 들을 수 있는 XR 러닝 Agent를 개발하는 것입니다.
저희는 본래 AR을 통해 해당 문제를 해결하고자 하였습니다.
직접 메타퀘스트를 통해 교과서를 실시간으로 보고 모르는 부분을 가리키면 그에 대한 교과서/위키 등을 기반하여 설명을 보여주고,
그에 적합한 그림과 3D 모델을 보여주는 것이 본래 워크플로우였습니다.
그러나 메타퀘스트를 직접 구매해서 사용해본 결과, 두가지 큰 문제가 있었습니다:
카메라가 해상도가 낮고, 왜곡 현상 및 어지러움 현상이 매우 심하여 메타퀘스트로 실시간으로 책을 읽는 것이 불가능
카메라 엑세스 자체가 개발자가 접근하는 것이 법으로 막혀있음
따라서 저희는 VR 화면에 공부자료 PDF를 띄우고, 컨트롤러 혹은 보이스를 통해 질문하는 방식으로 워크플로우를 수정하였습니다.
저희 팀은 유저가 실시간으로 학습자료에 대한 보충설명이 필요한 경우, 실시간으로 상호작용이 가능한 서비스 구조를 먼저 설계했습니다.
퀘스트를 쓴 유저는 앱을 실행시키면 본인이 학습하고자 하는 학습자료를 구글 드라이브에 업로드한 후, VR 화면에 띄웁니다.
유저는 Circle to Search 기능을 사용해 원하는 키워드를 하이라이트할 수 있으며, 하이라이트된 부분을 하나의 이미지로 스크린샷하여 저장할 수 있습니다.
이 스크린샷에서 동그라미로 표시된 단어는 키워드로 추출됩니다.
또한, 유저는 모르는 부분에 대해 음성으로 질문할 수 있으며, 예를 들어, "수산화 나트륨이 뭐야?"라는 질문을 할 경우, 이를 Query로 추출하여 검색합니다.
그렇게 추출된 keyword 혹은 query는 저희 전체 프로세스의 입력으로 사용됩니다.
먼저, ChatGPT-4o를 사용하여 키워드를 적절한 위키 문서 제목으로 변환한 후 웹 크롤링을 진행합니다.
예를 들어, "수산화 나트륨"이라는 키워드를 입력하면, 키워드에 대한 위키피디아의 내용을 추출합니다.
동시에 구글 웹 크롤링을 통해 관련 이미지를 추출하고, ChatGPT-4o가 각 이미지에 대한 설명을 생성합니다.
이 설명을 기반으로 키워드와 가장 어울리는 이미지를 선택하게 됩니다.
다음으로, 교과서 RAG 기술을 사용하여 고등학생 수준에 맞는 신뢰성 있는 답변을 제공합니다.
미리 임베딩된 교과서에서 키워드를 설명하기에 가장 적합한 페이지를 3장 선택한 후, ChatGPT-4o를 통해 이를 한 문단으로 요약합니다.
또한, SLM Llama 3.1 모델을 활용하여 키워드와 쿼리에 대한 부가 설명을 한 문단 정도 길이로 생성합니다.
이후, 위키, RAG, SLM을 통해 각각 생성된 답변의 정확도를 평가합니다.
이를 위해 Solar Embedding Model과 코사인 유사도(Cosine Similarity)를 사용합니다.
입력 키워드와 생성된 각각의 답변에 대한 코사인 유사도를 기반으로 정확도를 평가합니다.
최종적으로 세 가지 접근 방식을 조합하여 한 문단 길이의 답변을 생성합니다.
마지막으로, 크롤링을 통해 얻은 이미지에서 배경을 제거한 후, Image to 3D 오픈소스 모델을 사용해 3D 모델을 생성합니다.
이 모델은 Unity 컴포넌트로 변환하여 활용할 수 있습니다.
그렇게 생성된 부가설명 context와 3D 모델을 하나의 유니티 컴포넌트로 정리하여 유저에게 보여주게 됨으로서 전체 서비스 구조가 완성됩니다.
유저는 실시간으로 궁금한 정보들을 더욱 몰입감있는 환경에서 받아 볼 수 있습니다.
개발 현황:
위키피디아 크롤링
wikipedia-api 호출
wikipedia 검색엔진에 부합하는 키워드를 찾기 위해 ChatGPT-4o 이용
이미지 크롤링
Beautiful Soup 4 이용하여 google 이미지 중에서 크롤링
주변 맥락을 고려하여 가장 유사한 키워드 검색 할 수 있도록 프롬프트 설정
개선할 사항:
사용자와의 질문/답변 내역, 사용자의 학습 수준(초/중/고등학생인지 등) 정보를 사전에 받은 뒤 위키 검색에 참고
구글에서 크롤링한 사진을 한번 더 평가하여 3D 모델을 만들기에 가장 적합한 사진 고르기
개발 현황:
대표과목을 “통합과학”으로 선정하였으며, 5개의 출판사의 교과서를 기준으로 임베딩 (모델: solar-embedding-1-large-passage)
주어진 키워드에서 가상의 문단을 하나 만들어서 해당 문단과 가장 cosine similarity 점수가 좋은 3개의 문단을 가져온 뒤, 키워드와 관련 있는 문단 위주로 ChatGPT-4o로 하나의 요약 문단을 생성
적절한 자료 식별: RAG로 받아온 적절한 내용의 경우 0.7정도의 Similarity를 보이며, 전혀 상관 없는 내용은 0.2정도의 Similarity를 보인다.
개선할 사항:
교과서 출판사와 페이지 쪽 수 등 출처를 보여주는 기능
개발 현황:
Unity 프로젝트 기본 구조 설정 완료
Quest 개발 환경 구축 및 테스트 빌드 성공
FastAPI 서버 초기 버전 개발 완료
크롤링 및 RAG 기반 답변 생성 로직 구현 중
UI/UX 디자인 초안 작성 중
AR/VR 전환 기능 프로토타입 개발 중
사용자 편의성 향상을 위한 음성 인터랙션 기능 구현 계획
개선할 사항:
FastAPI 환경에서 앞서 생성된 답변과 연동 필요
음성 인식 기능 추가하여 음성 질문도 가능하도록 개편
개발 현황:
Diffusion Model과 3DGS을 적용한 모델들 중 Inference Code가 공개된 모델들을 위주로 성능 비교
러닝 어시스턴트 용으로 적합한 모델 선정 완료
개선 사항:
Meta Quest 앱에 연동 필요
상황에 따라 적절한 용도의 3D 생성 모델을 고르기
"VR서비스들이 가지고 있는 기술적허들을 어떠한 방식으로 극복할 수 있는 지 보여주면 좋을 것 같고, 인프라를 어떻게 구성할 지 논의될 수 있으면 좀 더 Feasibility 가 높아 질 것 같습니다."
대표적인 VR의 기술적인 허들
AR 카메라의 왜곡 현상 & 어지러움 현상
개발 환경(Unity)의 언어 지원 한계
메타퀘스트의 애플리케이션은 모두 Untiy 기반이고, Unity는 C#을 기반으로 돌아가다 보니, Python 기반의 코드를 사용하는 것이 불가능하였습니다.
저희가 그동안 개발해온 웹 크롤링, RAG는 모두 파이썬 기반으로 API를 불러와서 작동하는 방식이다보니 호환에 있어서 문제를 겪었습니다.
이 문제를 저희는 FastAPI 외부 서버를 구축하여, 키워드가 input으로 들어가면 필요한 정보들(설명, 이미지)을 output으로 보내주도록 만들었고,
이를 Unity에서 필요에 따라 호출하는 방식으로 해결하였습니다.
개발 환경(Unity)의 자체적 AI 관련 기능 부족
위에서 언급하였듯 Unity는 C# 기반이다 보니, 단순한 ChatGPT API를 활용하는 것조차 불가능한, AI에 대해 폐쇄적인 환경이라는 커다란 단점이 있었습니다.
따라서 저희는 SLM을 통하여 언어 지원 한계의 문제 및 latency 문제를 동시에 해결하고자 하는 방안을 채택하였습니다.
"VR 기기에서의 AI 특화 서비스를 제공할 수 있는 Framework을 잘 설계하였으며,
계획대로 기능 개발을 완료하고 XR/Unitiy 범용 Framework개발로 Meta의 XR Device를 활용한
향후 사내외 추가 Use Case(게임,요리,특정 영역 3D Maual 학습 등) 적용하여 Utilization과 Interaction UX의 고객경험 향상에 기여할 수 솔루션을 기대함."
"방대한 Framework에 대한 개발을 체계적으로 진행하고 있습니다. 창의적의고 설득력 있는 Use-Case가 제시된다면 더욱 좋을 듯 합니다."
"교과서 교육컨텐츠 뿐만 아니라 다른 분야의 컨텐츠 확대 방법도 제시하면 다양한 application개발이 가능해 보입니다."
중간발표를 준비하는 과정에서 깨닫게 된 사실이 있었는데, 위의 워크플로우에는 커다란 문제가 한가지 있었습니다.
첫번째로는, 메타퀘스트를 직접 구매하는 사용자들은 대부분 VR 게임 혹은 VR 체험을 위해서 구매를 한다는 점입니다.
즉 공부를 하기 위해서 & 검색의 편의성을 위해서 메타퀘스트를 구매하거나 사용하는 사람은 없을 가능성이 크다고 보았습니다.
두번째로는, RAG를 위해 학습해놓은 자료가 고등학교 교과서라는 점이었습니다.
만약 고등학교 교과서를 이용해서 공부하는 학생이 교과서 안에서 모르는 부분이 생겨서 질문을 한다면,
이것을 고등학교 교과서 RAG를 이용해 답변을 한다는 워크플로우가 굉장히 어색하게 다가왔습니다.
따라서 저희는 고등학교 교육과 VR은 어울리지 않는다고 판단하였으며, 주제 자체를 피보팅하게 되었습니다.
저희가 피보팅한 주제는 다음과 같습니다(2가지입니다.)
"RAG를 활용하여 분야별 구체적 답변에 을 얻는 과정의 정확도 개선 측면과 정확도 향상방법 제시도 있으면 활용도가 높아 보입니다."
텍스트 기반 RAG를 활용하지 않게 될 수도 있습니다. 단, 3D 모델의 정확성을 위해서 이미지 RAG는 사용할 수도 있습니다.
"End user I/F(VR이 아닌 웹이나 스마트폰 APP으로도 의미 있어보이는데요..)와 contents (다양한 contents 적용가능) 측면에서
확장이 가능한 플랫폼 형태의 서비스로 개발이 진행되면 더욱 현업측면에서 적용 및 확대 가능한 서비스로 의미가 있을 것으로 생각됩니다."
그림 사진이 어떤 게 들어가든 이를 3D 모델로 보여주는 과정을 자동화하려는 것이 저희의 궁극적인 목표입니다.
DEVOTEE를 활성화 시키면
지금 작성한 댓글에 AI가 댓글을 달아줍니다.