IT전문지 인포월드(InfoWorld) 소개

딥페이크에서 자연어 처리 등에 이르기까지 오픈소스 세계는 인공지능(AI)의 최전선에서 소프트웨어 개발을 지원하는 프로젝트로 각광받고 있다.

오픈소스는 특히 AI와 같은 최첨단 영역에서 코드와 데이터를 공유해 혁신적인 소프트웨어를 더 쉽게 구축할 수 있게 한다. IT전문지 ‘인포월드(InfoWorld)’가 26일 소개한 13개의 주요 오픈소스 프로젝트를 살펴본다.

텐서플로우(TensorFlow)와 파이토치(PyTorch)

텐서플로우와 파이토치 (사진=구글, 메타)
텐서플로우와 파이토치 (사진=구글, 메타)

텐서플로우는 구글이 개발한 오픈소스 소프트웨어 라이브러리로, 각종 신경망 학습에 사용된다. 대규모 예측 모델 구성에 강점을 보이기 때문에 베타 테스트 단계부터 실제 서비스 구현까지 거의 모든 딥러닝 프로젝트에서 활용도가 높다.

메타가 개발한 파이썬 기반 오픈소스 라이브러리인 파이토치는 절차가 간단한 편이며 코드 자체도 파이썬과 유사해 초보자들도 쉽게 시작할 수 있다. 파이토치는 신경망 크기도 최적으로 동작시킬 수 있고 학습 속도가 빠르다. 

실제로 이 기사에서 등장하는 프로젝트 중 일부는 텐서플로우나 파이토치를 사용 중이다.


폭스파일럿(FauxPilot)

원하는 로직을 설명하는 주석을 작성하고 폭스파일럿은 주석을 코드로 변환한다.(사진=깃허브)
원하는 로직을 설명하는 주석을 작성하고 폭스파일럿은 주석을 코드로 변환한다.(사진=깃허브)

코딩 도움이 필요한 프로그래머는 폭스파일럿을 사용할 수 있다. 폭스파일럿은 AI 모델의 도움으로 프로그래밍 코드를 생성한다.

개발 중인 코드를 분석하고 이해한 후 코드를 자동으로 만들어 주거나, 주석으로 설명을 쓰면 그에 맞는 코드를 자동으로 생성해준다. 또 반복되는 코드를 자동으로 채워주며, 복잡한 알고리즘을 제공하고, 구현된  코드에 대한 테스트를 자동으로 생성해주는 기능도 있다.

세일즈포스의 코드젠(CodeGen)에 기반한 폭스라일럿은 라이선스와 보안에 문제가 있는 GPT-3 기반의 코파일럿(Copilot)의 대안으로 활용된다.

달리2(DALL-E 2)

달리2가 생성한 ‘진주 귀걸이를 한 소녀’ (사진=오픈AI)
달리2가 생성한 ‘진주 귀걸이를 한 소녀’ (사진=오픈AI)

달리2는 오픈AI(OpenAI)가 이미지를 텍스트로 설명하면 디지털 이미지로 생성해 주는 AI 모델이다. 고해상도 이미지를 짧은 시간 안에 생성하고, 포토샵이나 디지털 아트 기술 없이 간단한 도구와 텍스트 수정으로 이미지를 쉽게 편집할 수 있다. 

달리 플레이그라운드(DALL-E Playground)나 달리 미니(DALL-E Mini)와 같은 오픈 소스 프로젝트를 통해 더 쉽게 실험할 수 있다.

욜로v7(YOLOv7)

욜로v7의 개체 탐지 (사진=깃허브)
욜로v7의 개체 탐지 (사진=깃허브)

실시간 개체 탐지 또는 이미지에서 개체를 찾는 것은 AI의 까다로운 영역이다. 또 주변 정보를 정확하게 수집하고 전달해야 하는 자율주행 자동차나 로봇, 보조 장치 등과 같은 분야에서도 중요하다.

욜로v7은 가장 빠르고 정확한 오픈소스 개체 탐지 도구 중 하나다. 

딥페이스렙(DeepFaceLab)

딥페이크랩를 활용해 생성한 딥페이크 (사진=arXiv)
딥페이크랩를 활용해 생성한 딥페이크 (사진=arXiv)

딥페이크는 딥 러닝의 도움으로 생성, 변경, 합성된 비디오 및 이미지다.

가장 잘 알려진 예는 유명인이나 정치인의 얼굴을 기존 동영상이나 이미지에서 바꾸는 것이다. 일반적으로 유머를 목적으로 하지만 때로는 악의적 목적으로 사용된다.

딥페이스랩은 파이썬(Python)에서 실행되는 오픈소스 딥페이크 기술이다. 한 얼굴을 다른 얼굴로 바꾸는 것 외에도 주름이나 다른 특징을 제거하는 데 사용할 수 있다.

패들NLP(PaddleNLP)

패들NLP를 활용한 질의 응답(사진=깃허브)
패들NLP를 활용한 질의 응답(사진=깃허브)

자연어 처리(NLP) 엔진은 신경망을 이용해 검색이나 감정 분석을 수행한 다음 정보를 추출해 사용자에게 제공한다. 아마존의 알렉사(Alexa)와 같이 때로는 서툰 경우가 있지만, 이 기술은 다양한 애플리케이션과 도메인에서 사용할 수 있을 정도로 정교해지고 있다.

패들NLP는 검색, 감정 분석,  질의응답, 음성 명령 분석 등에 사용할 수 있는 오픈소스 NLP 라이브러리다.

마인드DB(MindsDB)

마인드DB(사진=마인드DB)
마인드DB(사진=마인드DB)

AI를 위한 전통적인 방법은 데이터를 데이터베이스에 저장한 다음 추출해 별도의 AI 알고리즘으로 보내는 것이다. 마인드DB는 AI 알고리즘을 데이터베이스에 직접 통합하는 SQL 서버다.

데이터베이스 내에서 기계학습이나 저장된 데이터를 분석하는 것은 AI 워크플로의 속도를 높이는 빠르고 효율적인 방법이다.

ISR(Image Super-Resolution)

ISR의 고해상도 이미지 생성(사진=Paperspace)
ISR의 고해상도 이미지 생성(사진=Paperspace)

ISR은 사진의 이미지 해상도를 높여 더 많은 디테일을 추가할 수 있는 도구다. 저해상도 이미지의 세부 사항을 추측하도록 훈련할 수 있는 AI 모델을 사용한다.

좋은 훈련 세트를 사용하면 모델이 정확한 세부 사항과 더 선명한 이미지를 생성할 수 있다.

딥파블로프(DeepPavlov)

딥파블로프를 활용한 대화형 AI 프레임워크(사진=DeepPavlov.ai)
딥파블로프를 활용한 대화형 AI 프레임워크(사진=DeepPavlov.ai)

많은 기업과 대기업이 고객 서비스를 챗봇으로 대체하고 있다. 이는 기계가 대화하는 법을 배우고 있음을 의미한다. 딥파블로프는 텐서플로우, 파이초치 및 케라스(Keras)와 같은 기본 AI 프레임워크를 결합해 배울 수 있는 챗봇을 만든다. 결과는 기발하고 때로는 이상하지만 올바른 교육을 받으면 유용하다.

블렌더(Blender)

3D 생성 소프트웨어 블렌더(사진=블렌더)
3D 생성 소프트웨어 블렌더(사진=블렌더)

3차원 모델을 풍부하게 렌더링된 장면으로 변환하는 가장 좋은 방법은 블렌더를 실행하는 것이다. 많은 사람들이 블렌더를 애니메이터를 위한 도구로 생각하지만, 블랜더는 엄연하게 AI가 적용된 3D 제작 도구다.

풍부한 인터페이스와 수많은 플러그인을 통해 복잡한 모션 그래픽이나 영화 같은 장면을 만들 수 있다. 

오픈CV(OpenCV)

오픈CV를 활용한 윤곽선 검출(사진=LearnOpenCV)
오픈CV를 활용한 윤곽선 검출(사진=LearnOpenCV)

머신 비전 탐구를 위한 가장 중요한 기반 중 하나는 다양한 영상 처리에 사용할 수 있는 오픈소스 컴퓨터 비전 라이브러리인 오픈CV다. 오픈CV는  이미지에서 개체를 식별하기 위한 윤곽선 검출이나 노이즈 제거 또는 이미지 보정 등의 기능을 제공한다.

디지털 이미지에서 개체를 식별하기 위한 많은 알고리즘과 자동차의 번호판을 찾아 읽을 수 있는 것과 같은 특수 루틴을 포함한다.

로보코드(Robocode)

로보코드를 활용한 차량 제어 응용(사진=로보코드)
로보코드를 활용한 차량 제어 응용(사진=로보코드)

로보코드는 자바 프로그램 교육을 위한 도구로 개발된 것으로, 개발자들이 커스터마이징한 소스에 의해 움직이고 공격하는 탱크들의 전투를 시뮬레이션하는 환경을 제공한다. 탱크의 움직임, 레이더의 동작 방식, 포탄 발사 등을 제어해 더 나은 전투방식을 프로그램, 다른 탱크와 겨루어 볼 수 있다.

로보코드는 재미있는 게임이자 자율 주행 차량에 대한 새로운 전략을 테스트하는 도구로도 유용하다.

박찬 위원 cpark@aitimes.com

[관련기사]오픈AI, '달리2' 얼굴 사진 생성 허용

[관련기사]트위터 장악한 '달리 미니(DALL-E mini)'가 뭐길래?

키워드 관련기사
  • 오픈AI, 노코딩 AI '코덱스'로 차세대 애플리케이션 강화
  • 메타, AI 기술 개방을 위한 '파이토치 재단' 설립
  • 패들패들(PaddlePaddle), 세계 최다 사용자 가진 중국의 딥러닝 프레임워크