[기획기사] 최근 자연어 처리 (NLP) 오픈소스 기술 현황

support 게시글 작성 시각 2023-02-20 10:10:54 게시글 조회수 2369

 

최근 자연어 처리 (NLP) 오픈소스 기술 현황

 

- 이지현 IT전문기자(j.lee.reporter@gmail.com) -

 

자연어 처리 기술(Natural Language Processing, NLP)은 인공지능 기술이 발달하면서 성장한 대표적인 분야다. 이미 우리가 이용하는 많은 서비스에 NLP 기술이 녹아들어 있다. 음성인식, 챗봇, 번역, 검색 엔진, 코드 자동 완성 도구 등은 인간이 쓰거나 말하는 문장을 기계(컴퓨터)가 이해하고 적절하게 해석하거나 답변을 제공한다. 이런 기술 뒷단에 바로 NLP가 있다. 특히 챗GPT(ChatGPT, 텍스트로 질문을 입력하면 적절한 답변을 해주는 기술)나 달리2(DALL·E 2, 이미지를 글로 묘사하면 이미지를 생성하는 기술) 같은 툴이 놀라운 성능을 보이면서 NLP 기술에 대한 관심은 더욱 커지고 있다. 오픈소스 업계는 이미 NLP 기술 성장에 이미 많은 기여를 하면서 기술 혁신에 보탬이 되고 있다. 

 

최근 부상하는 오픈소스 대형 언어 모델

NLP은 다양한 기술로 구성돼있지만 그중 핵심은 언어 모델이다. 언어 모델은 입력값을 받고 확률 및 계산식에 근거하여 문장을 만들어내는 역할을 한다. 이때 기가바이트 또는 페타바이트 단위의 대량 데이터를 훈련해서 만든 모델을 대형 언어 모델(large language model, LLM)이라고 부르는데, 챗GPT도 LLM이다. 최근 글로벌 빅테크 기업들은 이런 LLM을 오픈소스 형태로 공개하는 데 적극적이다. 

 

대표적으로 메타(구 페이스북)는 2022년 오픈 프리트레인드 트랜스포머 언어 모델(Open Pretrained Transformer language model, OPT)를 공개했다. 여기에는 1천억 개가 넘는 많은 수의 파라미터가 미리 훈련된 것이 특징이다. 메타는 OPT를 AI 개발의 민주화를 비롯해 OPT가 가진 잠재적인 문제점을 파악하기 위해 오픈소스로 공개했다고 설명했다.

 

아마존 역시 2022년 8월 비슷하게 알렉사 티쳐 모델(Alexa Teacher Model, AlexaTM)이라는 언어 모델을 발표했는데, 아마존은 오픈AI의 GPT3기술에 영감을 받아 기술을 오픈소스 형태로 공개했다고 설명했다. 이외에도 카카오의 ’코GPT(KoGPT)’, 세일즈포스의 ‘코드젠(CodeGen)’, 구글의 ‘람다(LaMDA)’도 모두 오픈소스 형태의 LLM 기술이다.
 

알렉사 티쳐 모델 구조 
출처: 아마존 블로그 

 

이런 LLM의 인기로 떠오른 오픈소스 스타트업도 있다. 허깅 페이스(Hugging Face)라는 곳이다. 허깅 페이스 설립자는 원래 십 대를 위한 챗봇 서비스를 개발하면서 자연어 처리 및 인공지능 기술을 고도화하였고, 그 과정에서 관련 소스코드를 오픈소스로 공개하면서 유명세를 얻게 됐다. 당시 개발했던 서비스는 결국 흥행에는 실패했으나, 허깅 페이스 설립자들은 오픈소스 커뮤니티에서 자신들의 기술이 인기를 끄는 것을 보고, 여러 머신러닝 모델을 쉽게 다운로드하고 관리할 수 있는 새로운 서비스를 만들었다.

 

마치 깃허브가 소프트웨어 개발자들을 위해 다양한 소스코드를 간편하게 제공하는 것처럼, 허깅 페이스는 API 등으로 머신러닝 특히 자연어 처리 관련 모델을 다루는 개발자에게 필요한 기술을 한곳에 모아 제공하는 역할을 하고 있다. 최근 인공지능의 성장으로 허깅 페이스 사용자는 더 늘어나고 있다. 허깅 페이스가 현재까지 모은 투자금은 1억 달러이며, 기업 가치는 20억 달러로 평가받고 있어, 명실상부 오픈소스 업계를 대표하는 스타트업으로 자리 잡았다. 

 

 

개발자의 수고를 덜어주는 오픈소스 NLP 툴 

LLM이외에도 자연어 처리의 특정 단계를 돕는 오픈소스 기술도 많이 있다. 이런 기술은 기업보다는 대학이나 개인들이 모인 커뮤니티에서 대부분 주도하는데 특히 파이썬 기반의 생태계가 커지고 있다. 

 

 

자연어 처리 기본 과정
출처: https://towardsdatascience.com

 

익스플로전(Explosion)이라는 독일 스타트업은 ‘스파이시(spaCy)’라는 오픈소스 NLP 오픈소스 라이브러리를 공개했다. 스파이시는 파이썬 언어를 기반으로 하고 있으며, 실제 제품에 사용할 수 있을 정도로 높은 성숙도를 가진 것이 특징이다. 이 기술은 많은 양의 텍스트를 처리하고 이해하는 애플리케이션을 구축하는 데 도움이 되며, 정보 추출 또는 자연어 이해 시스템을 구축하거나 딥 러닝을 위한 텍스트 전처리 과정에 사용할 수 있다. 또한 익스플로전은 스파이시와 함께 쓸 수 있는 AI 개발 도구도 오픈소스 기술로 내놓고 있으며, 여기에 데이터 라벨링 및 전처리 도구인 프로디지(Prodigy), 템플릿 프로젝트, 함수형 프로그래밍 API 기술 등이 있다. 

 

스파이시 예시 
출처:https://explosion.ai/blog/year-in-review-2022 

 

스파이시와 유사한 프로젝트에 NLTK(Natural Language Toolkit)가 있다. NLTK는 분류, 토큰화, 형태소 분석, 태그 지정, 구문 분석, 추론 등 NLP 작업에 필요한 모든 기술을 제공한다. 대학 연구원 및 NLP 학습 입문자들이 자주 선택하는 도구이며, 특정 알고리즘 조합이 필요한 실험, 탐색 및 응용 프로그램을 위해 자주 사용되고 있다. 

 

NLTK는 초기에는 펜실베니아 대학 연구팀이 주도했으나, 현재는 유럽과 미국 등 전 세계 연구원 및 개발자들이 기여하며 발전되고 있다. 

 

독일 온라인 쇼핑기업 잘란도(Zalando)와 베를린 훔볼트 대학교도 파이썬 기반 오픈소스 NLP 툴킷 ‘플레어(Flair)’을 공개했다. 쉬운 사용법과 간편함을 특징으로 한 플레어는 텍스트 분류 및 정보 추출 과정에서 많이 사용되고 있다. 

 

비영리 단체인 엘렌 인공지능연구소(Allen Institute for AI)도 ‘엘렌NLP(AllenNLP)’라는 오픈소스 라이브러리를 공개했다. 엘렌NLP은 모델 트레이닝, 평가, 배포는 물론 데이터 전처리 및 시각화할 때 쓸 수 있는 도구를 한꺼번에 제공한다. 파이토치 기반의 엘린NLP는 유연성이 높아서 미리 구축된 모델은 물론 사용자가 직접 정의한 모델을 구축하고 평가할 수 있다.


파이썬 외에 다른 언어 기반 기술도 존재한다. 스탠포드 대학은 자바를 기반으로 한 오픈소스 자연어 처리 기술 ‘코어NLP(CoreNLP)’를 개발했다. 이 기술을 이용하면 ‘파이프라인’을 통해 원시 텍스트를 받아 라벨링 작업을 수행하고 최종 주석 세트를 생성할 수 있다. 파이프라인은 간단한 API로 액세스할 수 있으며, 여기에 구글 프로토콜 버퍼(Google Protocol Buffer)에 직렬화하고 모든 주석 정보를 포함하는 데이터 개체인 ‘코어다큐먼트(CoreDocuments)’를 만들어낸다. 그다음 다양한 언어 주석을 생성할 수 있다. 코어NLP는 영어, 스페인어, 중국어, 아랍어와 쓸 수 있으나 타 언어 분석에도 쉽게 결합할 수 있다. 다국적 보험 기업인 악사(AXA)는 자바스크립트 기반의 NLP 라이브러리 ‘NLP.JS’를 공개하기도 했다. 


마지막으로 NLP를 실제 제품으로 빠르게 구현할 수 있는 대화형 AI(Conversational AI) 프로젝트도 증가하는 추세다. 챗봇 또는 가상 에이전트 기술을 간편하게 구축하려는 기업이 관련 오픈소스를 주로 찾고 있다. 케임브리지 대학 및 컨커디어 대학교 연구진이 주도한 ‘스피치브레인(SpeechBrain)’이라는 프로젝트는 파이토치를 기반으로 하는 오픈소스 대화형 AI 툴킷이다. 이 기술은 특히 음성 기반 자연어 처리 분석에 특화돼 있으며, 화자 인식, 음성 향상, 음성 분리, 언어 식별, 다중 마이크로폰 신호 처리 및 기타 많은 시스템을 포함하여 음성 기술을 쉽게 개발하는 데 활용되고 있다. 


‘라사(Rasa)’는 프로젝트도 인상적이다. 대화형 AI 전문 기술 업체인 라사는 텍스트 및 음성 인식 기반 애플리케이션 기술을 오픈소스화하고 이를 바로 설치할 수 있는 기업용 기술을 제공하면서 수익을 내고 있다. 슬랙, 페이스북 같은 메신저 툴과 연동해서 챗봇 및 음성 인식 기술을 만들 수 있는 것이 특징이다.

라사로 구축한 챗봇 예시
출처: 라사 블로그 

 


※ 참고자료


1) Democratizing access to large-scale language models with OPT-175B, 2022년 3월, https://ai.facebook.com/blog/democratizing-access-to-large-scale-language-models-with-opt-175b/
2) 20B-parameter Alexa model sets new marks in few-shot learning, 2022년8월, https://www.amazon.science/blog/20b-parameter-alexa-model-sets-new-marks-in-few-shot-learning
3) https://www.kakaocorp.com/page/detail/9600

4) https://github.com/salesforce/CodeGen

5) https://blog.google/technology/ai/lamda/

6) The $2 Billion Emoji: Hugging Face Wants To Be Launchpad For A Machine Learning Revolution, 2022년 5월, https://www.forbes.com/sites/kenrickcai/2022/05/09/the-2-billion-emoji-hugging-face-wants-to-be-launchpad-for-a-machine-learning-revolution/?sh=4f5d9d5cf732

7) https://spacy.io/

8) https://www.nltk.org/

9) https://github.com/flairNLP/flair

10) https://allenai.org/allennlp/software/allennlp-library

11) https://stanfordnlp.github.io/CoreNLP/

12) https://github.com/axa-group/nlp.js

13) https://speechbrain.github.io/index.html

14) https://rasa.community/

15) https://www.amazon.science/blog/20b-parameter-alexa-model-sets-new-marks-in-few-shot-learning

16) https://towardsdatascience.com/a-practitioners-guide-to-natural-language-processing-part-i-processing-understanding-text-9f4abfd13e72

17) https://rasa.com/blog/5-levels-of-conversational-ai-2020-update/

.
.
2023
공개SW 가이드/보고서 - 번호, 제목, 작성자, 조회수, 작성
번호 제목 작성자 조회수 작성
공지 공개 소프트웨어 연구개발(R&D) 실무 가이드라인 배포 file support 7605 2022-07-28
공지 [2021년] 개방형OS 도입 가이드 발간 2 file support 9070 2021-11-23
공지 [2021년] 공공 공개소프트웨어 거버넌스 가이드 개정판 발간 file support 8221 2021-11-23
공지 [2021년] 기업 공개소프트웨어 거버넌스 가이드 발간 file support 8658 2021-11-23
공지 [2021년] 공개소프트웨어 라이선스 가이드 개정판 발간 file support 9366 2021-11-23
공지 공개소프트웨어 연구개발 수행 가이드라인 file OSS 9199 2018-04-26
442 [기획기사] 최근 자연어 처리 (NLP) 오픈소스 기술 현황 support 2369 2023-02-20
441 [2월 월간 브리핑] 한국어 자연어 처리(NLP) 오픈소스 프로젝트 support 3358 2023-02-20
440 [기획기사] 실시간 데이터 처리 분석 붐 중심에 선 오픈소스 support 963 2023-01-20
439 [1월 월간 브리핑] 하둡을 잇는 오픈소스 분석 시장 신흥 강자 기술들 support 1304 2023-01-20
438 [기획] 오픈소스 데이터 시각화 도구 TOP 4 support 2745 2023-01-20
437 [12월 월간브리핑]자율주행 개발을 위한 오픈소스 모형차 플랫폼 현황 support 1043 2022-12-26
436 [기획] 자율주행 오픈소스 데이터셋 TOP 5 소개 support 2800 2022-12-26
435 [기획기사]자율주행기술을 주도하는 오픈소스 프로젝트와 기술 support 678 2022-12-26
434 [기획기사]자율주행기술을 주도하는 오픈소스 프로젝트와 기술 support 867 2022-12-26
433 [11월 월간브리핑] 오픈소스를 이용한 IOT 기술의 동향 support 1330 2022-11-28
맨 위로
맨 위로