Loading...

데브옵스

3 Contents
최신순

영상 데이터 자동 레이블링 시스템

현대 인공지능 기술의 핵심인 영상 학습 데이터 구축을 획기적으로 개선하기 위해 '달달'이라는 이름의 자동 레이블링 저작 도구가 개발되었습니다. 이 시스템은 단순한 저작 도구를 넘어 AI 기반의 자동 레이블링 기술과 순환형 학습 구조가 결합된 통합 솔루션입니다. 과거에는 작업자가 영상 내 객체를 일일이 찾아 테두리를 그리는 고된 수동 작업이 필수적이었으나, 이제는 시각지능 모델이 사전에 객체를 인식하여 레이블을 자동 생성합니다. 작업자는 생성된 결과물을 확인하고 검수하는 역할만 수행하면 되기에 작업의 편의성이 대폭 향상되었습니다. 이 시스템의 가장 큰 강점은 사용자의 추가 데이터를 바탕으로 끊임없이 진화하는 순환형 학습 구조에 있습니다. 일반적인 객체 인식 모델은 사전에 학습된 데이터 외의 새로운 객체를 인식하는 데 한계가 있지만, 본 시스템은 재훈련 기술을 통해 인식 성능을 지속적으로 보정합니다. 현재 약 80여 종의 사물을 사각형이나 다각형 형태로 정밀하게 인식하며, 도메인의 특성에 맞춰 모델을 유연하게 변경할 수도 있습니다. 이러한 방식은 작업자의 숙련도와 상관없이 일정한 품질의 데이터를 대량으로 확보할 수 있는 안정적인 기술적 기반을 제공합니다. 연구진은 실제 도로 영상 데이터 구축 과정에서 겪은 수동 작업의 번거로움을 해결하고자 이 기술을 고안하게 되었습니다. 단순히 편리한 도구를 만드는 것에 그치지 않고, AI 모델의 개발과 운영을 유기적으로 연결하는 데브옵스 개념을 접목한 것이 개발의 시작점이었습니다. 특히 모델의 성능을 스스로 개선할 수 있는 순환형 학습 구조를 구상하여 지식재산권으로 출원하는 성과도 거두었습니다. 이는 연구 현장에서의 실제적인 필요성이 창의적인 기술적 아이디어와 결합하여 현장의 문제를 해결하는 혁신적인 시스템으로 탄생한 좋은 사례라 할 수 있습니다. 기술 구현 과정에서는 모델 학습을 위한 자원 확보와 연산 시간 지연이라는 현실적인 장벽에 부딪히기도 했습니다. 실시간에 가까운 속도로 대용량 영상을 처리하기 위해 연구팀은 도커 기반의 컨테이너 구조를 채택하여 서비스와 훈련 과정을 효율적으로 연동했습니다. 이러한 구조적 개선을 통해 데이터 전송 시간을 제외하면 영상당 1초에서 2초 내외로 처리가 가능해질 만큼 속도를 끌어올렸습니다. 시행착오를 통해 완성된 이 기술은 현재 중소기업이나 연구 기관이 보유한 원천 데이터를 가치 있는 학습 데이터셋으로 변환하는 핵심 동력이 되고 있습니다. 현재 이 기술은 KISTI의 기계 학습 데이터 공유 플랫폼인 'AIDA(AI다)'를 통해 더욱 고도화되고 있습니다. 사용자들은 단순히 제공된 데이터셋을 내려받는 것에 그치지 않고, 워크벤치를 통해 자신에게 필요한 맞춤형 데이터를 직접 취합하고 레이블링할 수 있는 환경을 제공받습니다. '데이터로 세상을 바꾸다'라는 비전 아래, 누구나 고품질의 영상 데이터를 손쉽게 다루고 활용할 수 있는 기술적 토대를 마련하는 것이 연구의 최종 목표입니다. 앞으로 이 시스템이 대용량 데이터 생태계의 중심에서 더 많은 연구자와 기업에 큰 도움이 되기를 기대해 봅니다.

영상 데이터 자동 레이블링 시스템
한국과학기술정보연구원세계가 인정함! ✅우수 연구성과✅ 인터뷰
  • 융합
  • 공학·기술

EOST2021 커뮤니티의 개발 워크플로 자동화 적용기

클라우드 바리스타는 멀티 클라우드 서비스를 구축하기 위해 반드시 필요한 기반 공통 소프트웨어 기술이자, 이를 함께 만들어가는 공개 소프트웨어 커뮤니티의 명칭입니다. 전 세계 어디서나 우리의 멀티 클라우드 기술을 활용할 수 있도록 하겠다는 지향점 아래 연구개발이 활발히 진행되고 있습니다. 특히 최근 기술의 성숙도가 높아지고 신규 기여자의 유입이 증가함에 따라, 수많은 기여 내용을 검토하고 관리해야 하는 부담이 커졌습니다. 이에 따라 반복적인 수동 작업을 줄이고 개발의 효율성을 극대화하기 위한 CI/CD 체계 도입의 필요성이 강력하게 대두되었습니다. 커뮤니티의 개발 워크플로를 자동화하기 위해 선택한 도구는 GitHub Actions입니다. 이는 비용 효율성이 높을 뿐만 아니라 커스터마이징과 협업 측면에서 뛰어난 장점을 제공합니다. GitHub Actions를 활용하면 리포지토리 내의 특정 설정 파일에 워크플로를 정의함으로써 빌드, 테스트, 배포로 이어지는 일련의 CI/CD 파이프라인을 구축할 수 있습니다. GitHub에서 제공하는 호스트 러너나 사용자가 직접 구축한 자체 구축 러너(Self-hosted runner)를 통해 다양한 운영체제와 언어 버전에서 기여된 코드를 즉각적으로 검증할 수 있는 유연한 실행 환경을 확보하게 되었습니다. CI 워크플로의 핵심 요소인 빌드 테스트는 다양한 운영체제와 프로그래밍 언어 환경의 조합에서 코드의 성공 여부를 실시간으로 점검합니다. 과거에는 메인테이너가 기여된 코드를 자신의 로컬 환경으로 가져와 일일이 확인해야 하는 번거로움이 있었으나, 자동화 도입 이후에는 빌드 에러가 발생한 코드를 사전에 차단하고 코드 리뷰와 기술적 개선에 역량을 집중할 수 있게 되었습니다. 또한 린트 테스트를 통해 소스 코드의 명명 규칙이나 코딩 관행을 일관성 있게 유지함으로써, 협업 과정에서 발생할 수 있는 소모적인 논의를 줄이고 코드의 가독성과 품질을 동시에 확보하고 있습니다. 테스트 단계에서는 단위 테스트와 API 테스트를 통해 기능의 정확성을 검증합니다. 특히 방대한 양의 기존 소스 코드가 존재하는 상황에서 효율적인 검증을 수행하기 위해, 함수 내부의 세부 동작을 확인하는 화이트박스 테스트 대신 API 요청과 결과값에 집중하는 블랙박스 테스트 방식을 적극적으로 활용하고 있습니다. 검증이 완료된 코드가 메인 스트림에 반영되면 CD 워크플로가 가동되어 컨테이너 이미지를 자동으로 생성하고 배포합니다. 이를 통해 Docker Hub나 GitHub 컨테이너 레지스트리에 최신 버전의 기술을 신속하고 안정적으로 공개할 수 있는 체계를 완성했습니다. 기술적인 자동화 외에도 공개 소프트웨어 생태계의 활성화를 위한 소통 워크플로를 구축했습니다. 명령어 기반의 자동 승인 시스템이나 위키 업데이트 내용을 기여 실적으로 연동하는 기능을 통해 참여자들의 동기를 부여하고 소통의 효율을 높였습니다. 이러한 워크플로의 도입은 단순한 도구의 활용을 넘어, 커뮤니티 구성원 모두가 발전적인 방향으로 역량을 강화하고 이해관계를 맞춰나가는 과정입니다. 궁극적으로는 개발과 운영이 긴밀하게 연계되는 DevOps 문화를 정착시켜, 클라우드 바리스타의 멀티 클라우드 기술이 전 세계적으로 확산될 수 있는 튼튼한 토대를 마련하고자 합니다.

EOST2021 커뮤니티의 개발 워크플로 자동화 적용기
한국전자통신연구원오픈소스 테크데이
  • 공학·기술

EOST2020

현대 소프트웨어 아키텍처는 과거의 단일 시스템에서 수많은 서비스가 얽힌 마이크로서비스 아키텍처(MSA)로 빠르게 전환되고 있습니다. 대규모 분산 시스템은 트래픽 처리와 장애 대응 면에서 유리하지만, 관리와 디버깅의 난이도가 급격히 상승한다는 치명적인 단점이 있습니다. 장애 발생 시 각 담당자가 자신의 영역에는 문제가 없다고 주장하는 사이, 정작 유저는 불편을 겪는 상황이 빈번하게 발생합니다. 이러한 복잡한 환경에서 서비스 전체의 가시성을 확보하고 성능을 통합적으로 관리하기 위해 애플리케이션 성능 관리(APM) 솔루션은 필수적인 도구가 되었습니다. 시스템 규모가 커지면 장애의 원인을 찾는 과정은 마치 미로를 헤매는 것과 같습니다. API 게이트웨이에서 지연이 발생했을 때, 담당자는 서버에 원격 접속하여 수많은 로그를 뒤져야 합니다. 한 단계 문제를 파악하더라도 연결된 쇼핑 서버, 주문 서버 등 각 단계별 담당자에게 연락을 취하고 확인하는 과정을 반복해야 하며, 이 과정에서 수십 분에서 며칠이 소요되기도 합니다. 로그가 각 서버에 분산되어 있고 서비스 간의 상호작용을 한눈에 파악하기 어렵기 때문에 발생하는 이러한 비효율은 분산 시스템 운영의 가장 큰 걸림돌 중 하나입니다. 오픈소스 APM인 핀포인트는 이러한 복잡한 시스템을 '서버 맵'을 통해 시각적으로 구조화하여 보여줍니다. 수많은 서버가 어떻게 연결되어 있는지 한눈에 확인할 수 있으며, 신입 사원조차도 전체 구조를 즉각 파악할 수 있을 만큼 직관적입니다. 특히 '스캐터 차트'는 트랜잭션의 응답 시간과 성공 여부를 점으로 표시하여, 어떤 요청이 유독 느리거나 예외를 발생시키는지 실시간으로 모니터링하게 해줍니다. 이를 통해 수차례의 로그 분석과 연락 과정을 거치지 않고도 단 몇 분 만에 장애의 근본 원인이 되는 코드 라인이나 쿼리문을 찾아낼 수 있습니다. 핀포인트의 강력함은 상세한 분산 트레이싱과 뛰어난 확장성에서 나옵니다. 특정 트랜잭션을 선택하면 코드 레벨의 콜 스택부터 데이터베이스 호출 횟수까지 상세히 보여주며, 실시간 스레드 차트를 통해 서버의 건강 상태를 즉각 확인하게 해줍니다. 대규모 시스템을 위해 설계된 만큼, 수백억 건의 데이터를 처리할 수 있는 구조를 갖추고 있으면서도 성능 저하를 최소화했습니다. 시스템 전반의 가시성을 확보하면서도 운영 중인 서비스에 큰 부담을 주지 않는다는 점은 전 세계 수많은 엔지니어가 핀포인트를 선택하고 신뢰하는 결정적인 이유가 됩니다. 2012년 시작된 핀포인트는 현재 전 세계 개발자들이 사용하는 글로벌 오픈소스 프로젝트로 성장했습니다. 아파치 하둡과 비견될 정도의 성장세를 보이며 오픈소스 APM 분야에서 정상을 다투고 있으며, 전 세계 대다수 국가에서 널리 활용되고 있습니다. 최근에는 Node.js 지원을 시작으로 Go 언어나 서비스 메쉬 등으로 지원 범위를 넓혀가고 있으며, AI 기술을 접목한 지능형 모니터링 시도도 이어지고 있습니다. 이제는 클라우드 환경에서도 손쉽게 접근할 수 있게 되어, 더 많은 개발자가 분산 시스템의 복잡성을 극복하고 안정적인 서비스를 운영할 수 있는 기반이 마련되었습니다.

EOST2020
한국전자통신연구원오픈소스 테크데이
  • 공학·기술