[카테고리:] Hot

  • LLM vs sLM : 빅테크 기업이 sLM 모델에 사활을 거는 이유는? 8개 대표 sLM 소개까지!

    LLM vs sLM : 빅테크 기업이 sLM 모델에 사활을 거는 이유는? 8개 대표 sLM 소개까지!

    LLM vs sLM : 빅테크 기업이 sLM 모델에 사활을 거는 이유는? 8개 대표 sLM 소개까지!

    #sLM 모델

    #LLM

    #온디바이스 AI

    sLM: 소형 언어 모델의 부상. 가볍고 저렴한 언어 모델이 뜬다.

     

    최근 LLM 시장의 흐름이 개발이나 상용화가 어려운 LLM보다 더 저렴하면서 특정 분야에서 효과적인 성능을 낼 수 있는 sLM(Small Language Model)으로 빠르게 옮겨가고 있습니다.

     최근 오픈AI CEO 샘 알트먼은 MIT의 한 행사에서 “거대한 AI 모델을 만드는 시대는 이제 끝이 났다”고 전했는데요. 물론 이 말의 의미가 LLM(초거대 언어 모델)을 부정하거나 완전히 끝이 났다는 뜻은 아닐 것입니다. 하지만 더 이상 언어 모델의 크기를 늘리는 것만으로는 AI 성능을 향상시키는 데는 한계가 있으며, 더 안전하며 유능한 모델을 만들기 위해 오픈AI는 앞으로 다른 방향으로 나아갈 것임을 시사하는데요.

     

     샘 알트먼은 AI의 성능은 크기 외에도 다른 다양한 요소들에 의해 좌우되며, 이제 사이즈를 키우는 것 이외의 요소에 주안점을 두겠다고 말했습니다. 더불어 현재 LLaMA 같은 소형 언어 모델의 성능이 계속해서 올라오며, 특정 부분에선 sLM 모델이 LLM의 성능을 뛰어넘는 현 상황에 더이상 LLM의 크기에만 집중하는 것은 의미가 없을 것입니다. 또한 언어 모델의 상용화(온디바이스 AI)와 효율성(비용대비 성능)을 위해 앞으로 AI시장의 흐름이 LLM에서 sLM으로 흘러가는 것은 어찌 보면 당연한 일이죠.

     

    sLM 모델이 LLM보다 나은 4가지 이유

     

    이러한  샘 알트먼의 발언처럼 현 LLM 시장의 빅테크 기업들은 sLM시장에서 더 치열한 격투를 벌이고 있는데요. MS(마이크로소프트)는 Phi-3를, 구글은 LLM모델인 Gemini를 경량화한 Gemma를, 메타에선 LLaMa3를 선보이며 sLM 기반의 AI 개발에 집중하고 있으며, Galaxy S24의 인공지능 실시간 통번역 기능에 LLaMA-2가 적용된 사례처럼 벌써 상용화도 이루어지고 있습니다. 이처럼 글로벌 빅테크 기업들이 너도나도 앞다투어 sLM에 뛰어들고  있는데, 그 이유를 크게 4가지만 뽑아보자면

     

    1.  온디바이스 AI가 가능하다.

      sLM은 데이터를 클라우드로 보내는 대신 장치에서 로컬로 처리할 수 있다는 장점을 가집니다. 작은 모델 크기로 디바이스 내에서의 AI 실행이 가능하여 핸드폰, 스마트 스피커, IoT 디바이스 등 다양한 기기에서 활용 가능한데요. 사실 이러나저러나 결국 AI가 활용될 기기는 컴퓨터를 넘어 핸드폰이 될 것이기에 벌써 수많은 기업들이 sLM의 상용화, 온디바이스 접목에 힘쓰고 있습니다. 

     

     실제로 애플, 삼성, 구글 등은 벌써 온디바이스 AI를 도입하였는데요. 앞서 설명했던 것처럼 삼성의 Galaxy S24에는 메타의 sLM 모델인  LLaMA-2가 적용되었으며, 애플은 iOS 17.2부터 아이폰용 AI앱인 Journal(일기)를 도입하였다. 이 외에도 구글은 온디바이스용 Gemini Nano를 픽셀 8프로에 삽입하였으며, 스테이블 디퓨전으로 유명한 스태빌리티 AI는 온디바이스에 최적화하여 텍스트 생성, 요약, 콘텐츠 개인화를 지원하는 StableLM Zephyr 3B를 출시, 네이버는 하이퍼클로바X를 전면에 내세운 다양한 버전의 sLM 모델 출시를 준비중입니다.

     

    2. 투자 비용 대비 뛰어난 성능을 보인다.

     AI 기술이 개발 단계에서 서비스에 적용하는 단계로 넘어오면서 비용 절감의 중요성이 커지자, 기업들은 컴퓨팅 비용이 낮으면서 도메인(산업) 별로 특화할 수 있는 sLM 모델을 선호하고 있습니다. sLM은 일반적으로 LLM보다 5~10배 정도 작은데, 크기가 작을수록 에너지 소비가 훨씬 적을 수밖에 없습니다. 단일 GPU에서 호스팅하는 것도 가능하기에 요즘같이 칩셋이 부족한 시점을 고려한다면 이는 큰 이점으로 작용하는데요. 더불어 훈련 및 추론 시간은 더 빨라지고 대기 시간은 훨씬 짧아져 모델 학습이 더욱 용이해졌죠.

     

     최근 MS가 출시한 sLM 모델 ‘Phi-3 mini’의 경우 매개변수가 38억 개로 오픈AI GPT-3.5(1750억 개)의 약 50분의 1 수준이라고 합니다. 그렇지만 MMLU-5 shot(학부생 수준의 지식 측정)기준에서 GPT-3.5에 준하는 성능을 보이며, sLM이 LLM과 비교했을 때 훨씬 저렴한 운용 비용으로 비슷한 성능을 낼 수 있음을 다시 한번 입증하였는데요. 이러한 투자 비용 대비 높은 성능은 리소스가 제한된 환경에서 이상적인 모델이라는 뜻이기도 한데, 이제 더 이상 언어 모델이 공룡 빅테크 기업만의 전유물이 아니라 스타트업에서도 개발이 가능해졌다는 뜻이기도 합니다.

     

    3. 산업 도메인 특화로 전문성은 UP, 할루시네이션은 DOWN

      더불어 sLM은 크기가 줄었음에도 의료나 코딩, 금융 등 도메인 별로 파인튜닝 되었기에 LLM보다 더 정확한 결과물 도출이 가능해졌습니다. 모델이 특정 도메인이나 산업에 맞게 학습되었기 때문에 보다 정확하고 문맥에 맞는 응답을 제공하며, 해당 분야에서 발생할 수 있는 할루시네이션(환각 현상)을 방지할 수 있는데요.

     

     예를들어 ChatGPT에게 ‘LTV’의 의미에 대해 질문했을 때, ChatGPT는 통상적으로 쓰이는 마케팅 용어와 관련하여 답변을 내놓습니다. 하지만 생성AI 스타트업 올거나이즈가 개발한 금융 서비스 특화 sLM 모델인 알리 파이낸스에선 LTV의 의미를 금융 계약에 활용되는 담보 안정 비율이라고 도메인에 맞는 명확한 답변을 내놓습니다. 이처럼 sLM은 도메인 맞춤형으로 학습되기에 전문 용어와 언어적 뉘앙스를 심층적으로 이해하고 각 도메인에 맞는 알맞은 답변 제공이 가능해지는 것인데요. 현재 파인튜닝된 sLM은 금융산업 이외에도 의료, 코딩, 건축, 법률, 세무, 수학, 헬스케어, 이커머스 등 다양한 산업에서 활용되고 있습니다.

     

    4. 보안 문제 해결이 가능하다.

    LLM은 API를 통해 민감한 데이터가 노출될 위험이 있지만, sLM은 기업 및 기관 내부에 설치하는 구축형 On-premise 방식으로 데이터 유출 위험이 낮습니다. 더불어 온디바이스에 적용한다면 데이터를 장치에서 로컬로 처리하기에 개인정보 보호에도 탁월하죠.

    이처럼 sLM은 온디바이스 AI가 가능하고, 투자 비용 대비 높은 성능 효율성을 보이며, 도메인 특화 강점을 가지면서 보안 유지까지 되니, LLM의 고질적인 단점들을 sLM은 단번에 해결 가능합니다. 때문에 기업들이 sLM 모델 경쟁에 사활을 거는 것은 어찌 보면 당연한 현상이라고 볼 수 있죠.

     

    현시점 가장 핫한 오픈소스 sLM 모델 8개 소개

    sLM이 대두되는 이유를 알았다면 이제 2024년 가장 핫한 8개 sLM 모델들을 간단히 살펴보겠습니다.


    1. LLaMA-3

    라마3는 메타AI에서 개발한 오픈소스 모델로 현시점 가장 뛰어난 성능 & 범용성을 보이는 모델입니다. LLaMA3는 수많은 화제를 모았던 LLaMA2에 비해 모든 벤치마크에서 대폭적인 도약을 이루었는데요. 15T 개 이상의 토큰을 사용하여 pre-training하였으며, LLaMA2 대비 7배 더 크고 4배 더 많은 코드를 포함하였다. 향상된 추론, 미세조정된 언어 이해, 새로운 기능 등을 통해 다양한 분야에서 좋은 성능을 제공하는 언어 모델로  온디바이스 AI 환경에 적합한 모델이기도 합니다.

     

    2. Gemini-Nano

    구글에서 개발한 sLM으로 인터넷 연결이 없이도 실시간 통/번역이 가능하며 맞춤형 온디바이스 어시스턴트 기능 수행이 가능합니다. 상황별 맥락 이해를 통한 최적화된 답변 생성이 장점입니다.

     

    3. Gemma

    구글의 젬마는 텍스트 기반의 작업에서 장점을 보여주는 모델입니다. 복잡한 문맥을 이해하고 콘텐츠 생성에 우수한 성능을 보인다. 다중 프레임워크, AI 도구와의 유연한 연결이 돋보입니다.

     

    4. Mistral AI

    미스트랄은 다국어 처리와 코드 작업에 우수한 성능을 보이는 모델로, 대규모 다중 작업 언어 처리가 가능하여 문서 처리에 강점을 보여주고 있습니다. 메모리 요구 사항 대비 높은 추론 성능을 보이며, 개인화에 특화된 sLM 모델입니다. 


    5. Phi-2

    파이2는 마이크로소프트에서 개발한 모델로, 언어 이해와 추론에 높은 성능을 보여주고 있습니다. 메타의 LLaMA-2-70B 모델에 비해 코딩 및 수학과 같은 다단계 추론 작업에서 더 뛰어난 성능을 보이는 것으로 평가받으며 특정 도메인(QA, 채팅, 코드)에서 높은 추론 성능을 보입니다. 더불어 데이터 편향성이나 독성 측면에서도 완화된 sLM 모델이며, 멀티 모달 기능을 제공합니다.


    6. Falcon

    팔콘은 아랍에미리트(UAE)의 기속 혁신연구소에서 출시한 sLM 모델로, 영어와 아랍어, 추론에 특화된 sLM입니다. 캐시량 삭감으로 메모리 양 억제가 가능하며, 맞춤형 데이터 파이프라인 기반 모델입니다.


    7. Stable LM 2

    Stable Diffusion을 개발한 스태빌리티 AI에서 만든 모델로 다국어 작업과 이미지 생성에 특화된 모델입니다. 할루시네이션과 독성 언어 문제에 높은 성능을 보이며, 빠른 실험과 배포가 가능하다는 장점이 있습니다.


    8. YI

    YI는 중국의 스타트업 01.AI가 개발한 모델로, 고품질 3T 다국어 말뭉치로 학습된 이중 언어 모델을 목표로 하며, 언어 이해력, 상식 추론, 독해력 등에서 높은 성능을 보이고 있습니다. 영어와 중국어 언어 지원이 가능합니다.

    앞으로의 AI 시장의 방향성은…


    앞서 살펴본 점들로 미루어보아, sLM은 온디바이스 AI의 보급을 가속화하고 AI 서비스의 핵심 기술력으로 앞으로도 계속해서 성장할 것으로 보입니다. 이제 AI서비스를 하고자 한다면 sLM은 선택이 아닌 필수라고 말할 수 있을 텐데요. 그리하여 소개하는 강의!

    LLaMA3, Phi-2, Gemma 등 LLM Task마다 각각의 강점을 보이는 8개의 sLM을 활용한 5개 프로젝트 실습 강의로,

    실제 산업현장에서 자주 수주받는 sLM 모델들을 구축해 보며 기업에서 필요한 Custom sLM 모델을 개발하기

    위한 파인튜닝 방법,  멀티모달 데이터 처리, 멀티모달 RAG까지 학습할 수 있도록 준비한 강의입니다.

     

    ✅ LLaMA3, Phi-2 등 8개 대표 sLM 비교/분석/활용

    ✅ 원하는 서비스 개발에 따른 모델 결합 방법 학습

    ✅ 비속어/불용어 처리와 보안 솔루션 구축 프로젝트 실습 

    ✅ sLM의 성능을 올리는 DPO & Merge 학습까지!

    sLM은 결국 기업 전용 LLM으로 변할 것이라는 예측처럼 앞으로 수많은 기업에서 sLM을 필요로 하게 될 것인데요. 강사님께서 여러 모델이 융합되면서 우리 기업만의 ChatGPT를 만드는 방법론을 전하고자 준비하셨다고 하니, 어떻게 하면 우리 기업에서 필요로 하는 sLM 서비스를 만들 수 있을지 궁금하신 분들은 한번 들어보시면 좋을 것 같습니다.

     

    ▶️ 강의 바로가기

  • AI 분야, 중국이 미국을 앞서려고 한다

    AI 분야, 중국이 미국을 앞서려고 한다

    AI 분야, 중국이 미국을 앞서려고 한다

    #인공지능

    #중국

    1. 인공지능 분야, 중국의 도약

    인공지능 영역에서 힘의 균형이 최근 바뀌고 있다는 분석이 나타나고 있다. 미국은 오랫동안 AI의 선두주자였지만 중국은 인력 양성에 힘을 쏟으면서 빠르게 입지를 다지고 있다. 중국 정부는 2024년 최근 경제 성장이 둔화한 상황에서도 AI 관련 연구개발 예산을 10%가량 늘린 3710억 위안(약 69조 원)으로 책정할 만큼 AI에 대한 관심이 크다. 

    중국은 미국을 따라잡기 위해 국가 차원으로 2027년 약 18조원까지 투자를 늘려 AI 산업 육성에 대한 강한 의지를 보이고 있다. 최근 미국이 엔비디아 집적회로 AI칩 수출 금지 등의 반도체 제재가 잇따르고 미국 중심의 AI 콘텐츠 규제가 잇따르며 중국 내부적으로 빠르게 AI 산업 발전 육성에 대한 관심을 기울이고 있다. 

    미국보다 AI 분야에서 많은 인재를 배출하고 있고 바이두의 ‘어니봇’이 사용자 1억 명을 확보하는 등 공공과 민간 모두 성과를 내며 AI에 대한 기술 개발에 총력을 기울이고 있다. 미국에 비해 늦은 시기이지만 중국 역시 2023년 9월부터 바이두, 텐센트 등 중국 내 유수의 기업들이 모두 생성형 AI를 개시하기 시작하였다. 

      2. 박사급 연구자들의 이동

    과거에는 중국의 많은 인재가 AI 분야의 전문인이 되기 위해 미국으로 유학을 갔다. 2010년대 대부분 기간은 중국의 연구진들이 미국 대학에서 학위를 취득하면서 대다수 미국에 머무르는 쪽을 택하였다. 하지만 지금은 중국에도 인공지능 관련 다양한 학과가 있기에 중국에 머무르는 것을 택하면서 중국으로 인재가 몰리고 있다. 중국은 AI 기술을 국가적으로 중요한 핵심 R&D 영역으로 설정하여 기술 개발과 인재 육성을 전격적으로 지원해 나가고 있다. 2021년 중국 정부에서 발표한 14차 5개년 계획에 따르면 ‘디지털 중국’ 전략이 있다. 경제, 문화, 거버넌스, 사회, 에코시스템의 5개 분야를 대상으로 AI 기술로 융합하도록 만드는 것이다. 이렇게 국가적으로 밀어주는 AI 기술이기에 중국 내 AI 전문가들이 다수 배출되고 있는 상황이다. 미국은 AI 분야에서 혁신은 이루었지만 상당 부분 중국에서 교육을 받은 연구자에 의해 수행된 경우가 많다. 중국에서 태어난 연구자 중 미국에서 활동하는 AI 연구자는 38% 이상을 차지하고 있을 정도이다.

    중국의 AI 전문가가 크게 증가한 결정적 이유는 2018년 이후 중국 정부에서 AI 관련 막대한 투자를 하였기 때문이다. 2000개 이상의 학부 AI 프로그램이 추가되는 등 AI 교육에 심혈을 기울이고 있다. 중국의 명문 대학은 300개가 넘게 AI 관련 프로그램을 운영하고 있다. 중국이 관심을 기울이는 교육은 산업이나 제조 분야의 도메인 기반의 AI 애플리케이션에 더 초점을 맞추고 있다. 

    미국이 AI 기술의 중국 생산 이관 및 기술 이전, 투자, 사업 연계를 계속 해서 제약하는 상황에서 중국 정부는 적극적으로 자국 기업에서 AI 기술을 개발할 것을 본격적으로 장려하기 시작했다. 중국 정부의 적극적인 투자로 더이상 박사급 연구자들은 미국에서 연구를 수행하기 보단 자국에서 자국의 발전을 위해 연구개발을 하는 것을 택하는 경우가 많아지고 있다. 박사급 연구자들이 중국에 머무르는 것은 결국 중국의 AI 발전에 긍정적 영향을 끼치게 되면서 AI 발전 방향이 중국으로 향하게 되는 것이다. 

    3, 중국, 인공지능 분야 인재 양성에 대한 막대한 투자

    과거에는 중국의 AI 관련 인재들이 미국에 머무르든, 중국으로 가든 크게 미국 정부에서 신경을 쓰지 않았다. 하지만 최근 인공지능 관련 국가 간 기술 유출 사건이 붉어지면서 미국 내 기술 유출에 대한 관심이 커지고 있다. 특히 미국과 중국 등 주요 국가 간 국제 경쟁 상황에서 중요한 관심사로 대두되고 있다. 최근 구글의 중국인 엔지니어가 마이크로칩 아키텍처를 포함한 AI 기술을 베이징에 본사를 둔 회사에 이전하려는 시도를 한 혐의로 기소되었다. 이 사건은 AI 기술이 불법적으로 공유되고 이용될 가능성이 있음을 시사하였다. 

    AI 기술 유출은 다각적인 과제를 안겨주는데 특히 국가 안보를 위협하게 된다. 유출된 기술이 군사적 응용이나 전략적 중요성을 갖는 경우 문제가 될 수 있기 때문이다. 기술 유출은 경제에도 부정적 영향을 미친다. AI 전문가가 유출되면 핵심 산업의 생산성 향상을 저해할 수 있는 문제이다. AI 기술은 제조, 의료, 운송 등 다양한 분야에서 효율성과 자동화를 향상하는 잠재력을 지니고 있다. AI 기술과 인력이 유출되면 기업은 AI 솔루션을 구현하고 운영하는데 어려움을 겪을 수 있다. 

    미국과 중국이 AI의 패권을 놓고 경쟁하고 있는 상황에서 미국 정부는 중국인의 미국 내 AI 연구에 대한 고민이 깊어지고 있다. 미국 내 AI 박사급 연구원들의 대다수가 중국인이 차지하고 있는데다 정작 이들이 미국의 AI 발전에 기여를 하고 있기 때문이다. 기술 유출은 고민이 되지만 현실적으로 AI 전문가가 중국인이다 보니 미국 내 중국인 AI 전문가들을 막을 수도 마냥 환영할 수도 없는 상황이다. 

    AI 연구 환경에서 중국 인재의 지배력이 높다 보니 단순히 미국과 중국의 AI 경쟁 구도로 접근하기가 어려워지고 있다. 궁극적으로 AI는 계속 진화하고 발전해야 하는 테마이기에 협력을 하되 기술 유출을 완화하기 위한 프로토콜이나 보호 장치를 구축할 필요가 있다. 다양성을 수용하면서 어떻게 나라 간 전문 인력들의 상호 협력을 할지에 대한 고민이 필요할 때이다. 중국과 미국의 정세로만 바라볼 때 AI 전문가 인력 확보 문제는 단순하게 바라볼 문제는 아니지만  ‘AI 연구’라는 대주제로만 볼 땐 근시안적인 접근보다는 긴 안목으로 국가 간 상호 협력이 필요할 때가 아닐까 생각해 본다. 

     

    글쓴이 소개

  • ‘AI 발전의 주역’ 딥러닝 발전의 10대 이정표 (2)

    ‘AI 발전의 주역’ 딥러닝 발전의 10대 이정표 (2)

    ‘AI 발전의 주역’ 딥러닝 발전의 10대 이정표 (2)

    #AI

    #딥러닝

    이전 글에 이어 ‘딥러닝 발전의 10대 이정표’를  여섯 번째부터 이어가겠습니다

    7. 트랜스포머 모델(Transformer) 개념 등장(2017)

    ” Attention Is All You Need “

    해당 문장을 보면 비틀즈의 “All You Need Is Love”가 떠오르지 않으신가요? 그렇다면 잘 생각하신 겁니다. 2017년, 구글 딥브레인(후에 딥마인드로 통합) 팀은 “Attention Is All You Need(어텐션만 있으면 된다)”라는 논문을 발표했는데요. 이 논문에서 소개한 인공 신경망 트랜스포머 모델은 향후 자연어 처리(NLP)에 엄청난 혁신을 가져오게 됩니다.

    트랜스포머 모델은 텍스트나 시계열과 같은 데이터 시퀀스를 처리하기 위한 아키텍처입니다. 데이터를 순서대로 처리하던 이전 모델과 달리, 트랜스포머는 ‘어텐션’이라는 메커니즘을 사용하여 입력 데이터의 여러 부분의 중요도를 평가하고 속도와 정확성을 획기적으로 개선합니다. 이를 통해 데이터 내의 맥락과 관계를 보다 효과적으로 학습할 수 있습니다.

    한국어를 영어로 번역할 때, 기존 모델에서는 각 단어를 하나씩 살펴봐야 했지만, 트랜스포머 모델을 통하면 문장 전체를 한 번에 살펴볼 수 있습니다. 이름이나 키워드처럼 문맥을 이해하는 데 중요한 고유명사 등의 단어에 더욱 집중하기 때문에 정확도 높은 번역이 가능해집니다. 트랜스포머는 BERT, GPT-3 등의 언어 모델에 크게 영향을 미쳤으며, 오늘날 언어 번역, 텍스트 요약, 챗봇의 응답 생성, 창의적인 콘텐츠 작성 등 대부분의 최신 자연어 처리 애플리케이션의 기반이 되고 있습니다.

     

     

    7. 언어 모델 버트(BERT) 발표 (2018)

    구글은 2018년, 버트(BERT, Bidirectional Encoder Representations from Transformers)라는 고도화된 언어 모델을 발표하여 또 다시 자연어처리 분야에 큰 바람을 불러일으켰습니다. 기존의 모델들이 텍스트를 한 방향(왼쪽에서 오른쪽 또는 오른쪽에서 왼쪽으로)으로만 처리했던 것과 달리, 버트는 텍스트를 양방향으로 분석합니다. 따라서 주변 단어를 바탕으로 뉘앙스와 맥락을 파악하는 것이 쉬워집니다.

    “The bank of the river is steep”라는 문장에서 “bank”라는 단어는 강의 둑을 의미할 수도 있고, 은행을 의미할 수도 있습니다. 버트는 “river”와 “steep” 같은 단어에서 주어진 맥락을 바탕으로 “bank”의 의미가 은행이 아닌 둑이라는 것을 파악합니다. 텍스트 처리를 단방향이 아닌 양방향으로 분석하기에 명확한 맥락 파악이 가능해지는 것입니다.

    버트는 이러한 양방향 분석 능력을 기반으로 질문 응답, 감정 분석, 언어 추론과 같은 분야에서 NLP의 성능을 크게 향상시켰으며, 검색 엔진의 검색 결과 개선, 언어 번역 서비스의 수준을 한층 끌어올렸습니다.

     

    8. 생성형 AI의 시대를 연 GPT-3(2020)

    미국의 인공지능 기업인 OpenAI가 2020년에 개발한 GPT-3은 1,750억 개의 파라미터로 구성된 언어모델입니다. 오픈소스로 공개된 이전 GPT-2와 달리, 코드와 모델을 비공개로 발표하여 당시 비영리 연구소였던 OpenAI가 비난을 받기도 했습니다. 전작 대비 엄청난 성능의 발전을 보여줘서 화제가 되기도 했습니다.

    GPT-3은 기존의 분석 및 해석을 넘어 대규모 언어 모델을 기반으로 한 ‘생성형’ AI를 본격적으로 수면 위로 끌어올린 프로젝트입니다. 이메일을 작성할 때, 받는 사람, 주제, 핵심 내용 등을 입력하면 GPT-3는 그 요소들을 자세히 반영하여 일관되게 맥락에 맞는 문장을 씁니다. 이를 통해 마치 사람이 쓴 것처럼 격식을 갖추고 정중한 업무 메일을 쓸 수 있습니다.

    텍스트 생성을 넘어, GPT-3는 언어에 대한 이해가 필요한 다양한 분야에 영향을 끼쳤습니다. 긴 글을 요약하거나 시와 같은 창의적 콘텐츠를 생성하고, 언어를 번역하기도 하고, 코딩도 가능합니다. 이러한 능력은 인간과 컴퓨터 간의 상호작용 인터페이스를 더 직관적으로 개발하는 데에도 유용합니다. 광범위한 언어 훈련 데이터를 활용함으로써 GPT-3는 ‘정말 인간이 할 법한’ 작업들을 수행할 수 있습니다. GPT-3의 출시는 AI가 말 그대로 ‘인공지능’의 의미에 한층 더 가까워졌음을 증명했습니다.

    9. 파운데이션 모델(Foundation)의 등장(2021)

    파운데이션 모델(Foundation)은 2021년 스탠포드 대학의 연구소에서 처음 만든 개념입니다. ‘광범위한 사례에 적용할 수 있도록 대규모 데이터를 기반으로 학습된 모델’을 뜻하며, AI 모델 개발 및 활용 방식에 큰 변화를 가져왔습니다. 파운데이션 모델을 기반으로 미세 조정(fine-tuning, 파인튜닝)만 하면 바로 사용할 수 있게 해 주는 모델로, 이 모델들을 활용함으로써, 각 산업 도메인에 맞춰 특화된 새로운 AI 모델을 개발하는 데 필요한 리소스를 획기적으로 줄일 수 있습니다.

    특히 의료 분야에서는 파운데이션 모델의 영향이 매우 큰 편입니다. 이 모델들은 맞춤형 진단 도구 및 개인화된 치료법의 신속한 개발을 가능하게 하며, 의료 분야에서의 ‘개인화’ 영역을 크게 발전시켰습니다. 건강 관련 데이터를 대규모로 학습한 파운데이션 모델을 활용함으로써 의료 전문가들은 각각 환자의 필요에 정확하게 맞춰진 치료법을 제시할 수 있습니다.

    이러한 범용성과 효율성 덕분에 파운데이션 모델은 AI 생태계에서 핵심적인 역할을 하며, 금융부터 교육에 이르기까지 다양한 분야에서 AI가 지원할 수 있는 능력을 확장하는데 기여하고 있습니다.

    10. 이미지 제작의 패러다임을 바꾼 스테이블 디퓨전(Stable Diffusion)(2022)

    스테이블 디퓨전(Stable Diffusion)은 영국의 AI 기업 Stability AI가 오픈소스로 배포한 이미지 생성형 모델로, 텍스트 프롬프트만으로 고품질의 이미지를 생성할 수 있습니다. 스테이블 디퓨전은 앞서 설명한 생성적 적대 신경망(GANs)의 한 분야에서 발전해온 모델입니다. 독특하면서도 예술적인 이미지를 만들 수 있어 디자이너, 일러스트레이터, 예술가들에게 새로운 형태의 시각 미디어를 실험하고 빠르게 작품을 제작할 수 있는 혁신적인 변화를 가져왔습니다.

    예를 들어, 디지털 아티스트가 ‘석양이 깔린 초저녁의 미래 도시 풍경’이라는 설명을 입력하면, 스테이블 디퓨전은 요청 사항에 ‘훈련된 예술적 감각’을 더해 이미지를 생성합니다. 이는 이미지를 만드는 데 드는 시간을 줄여 줄 뿐만 아니라, 수작업으로 구현하기 어렵거나 시간이 많이 걸리는 작업을 AI로 실험할 수 있게 해 줍니다.

    스테이블 디퓨전의 영향은 단순히 이미지를 만드는 데 그치지 않고, 고품질의 예술적 콘텐츠 생산을 대중화했다는 데 의미가 있습니다. 이는 예술 교육을 받지 않은 사람들이나 자본이 부족한 예술가도 쉽게 작품을 만들 수 있게 하여, 다양한 산업에서 시각 콘텐츠의 제작 방식에 변화를 가져올 수 있음을 보여주는 중요한 사례입니다.

    이외에도 GPU와 TPU의 발전을 통한 AI 하드웨어 최적화, 2020년대 초 생성형 AI, LLM 모델의 춘추전국시대 등을 추가적으로 꼽을 수 있을텐데요. 이러한 이정표를 되돌아보면 딥러닝은 우리의 삶을 혁신했을 뿐만 아니라 미래 기술 발전을 위한 궤도를 구축했음을 알 수 있습니다.

    미래 AI는 최소한의 데이터로 학습하고, 다양한 작업을 보다 효과적으로 일반화하며, 아마도 인간의 논리와 유사한 추론을 하는 방향으로 개발될 것입니다. 또한, AI 윤리와 거버넌스의 진화는 이 기술이 사회에 통합되는 방식을 형성하는 데 중추적인 역할을 할 것으로 보입니다. 과거의 흐름을 보면서 앞으로 AI가 어떻게 발전할지 예상해 보는 것도 좋을 것 같습니다.

  • 애플의 모험, 종착지는 AI?

    애플의 모험, 종착지는 AI?

    애플의 모험, 종착지는 AI?

    #AI

    #애플

    지난 1월 뉴욕 증시에서 1등주가 바뀌었습니다. 2021년 11월 이후 약 2년 2개월간 정상을 지킨 애플이 시가총액 2위 기업으로 내려앉은 건데요. 왕좌는 마이크로소프트(MS)가 차지했습니다. MS가 챗GPT 개발사 오픈AI에 대한 투자를 통해 인공지능(AI) 분야에서 대장주로 주목받은 결과인데요. AI가 신성장 동력으로 주목받는 동안 애플의 존재감은 희미해졌습니다. '혁신의 상징'이던 애플에 그동안 무슨 일이 있던 걸까요? 그리고 뒤늦게 'AI 시대'에 도전장을 내민 애플의 모험은 성공할 수 있을까요?

    추락한 ‘혁신의 아이콘’? 위기에 처한 애플

    지난해 3조 달러를 넘었던 애플의 시총은 올해 4월 들어 2조6000억 달러로 줄었습니다. 4000억 달러(약 550조원)가 증발한 건데요. 미국 증시 호황에도 애플 주가는 반대로 향했습니다. 이 시기 월가에서는 “애플이 코카콜라와 비슷한 가치주가 됐다”고 꼬집었습니다. 애플의 매출 성장세는 정체됐지만 최근 화제의 중심인 AI에서 그렇다 할 성과와 비전을 보여주지 못했기 때문입니다.

    많은 이들이 지금은 애플의 위기라고 말합니다. 지난해 매출은 전년 대비 3% 감소했고, 올해 매출도 2% 증가에 그칠 것으로 전망됩니다. 매출 비중이 높던 중국에서의 아이폰 판매량은 올해 첫 6주 동안 전년 동기 대비 24% 줄었습니다. 시장점유율은 1년 새 19%에서 15.7%까지 떨어졌습니다. 순위도 2위에서 4위로 밀렸고요. 여기에 미국 법무부의 반독점법 위반 소송, 유럽연합(EU)의 디지털시장법(DMA) 관련 조사 등 악재가 줄 잇는 상황입니다.

    특히 ‘애플카 프로젝트’의 중단은 투자자들에게 큰 실망을 안겼는데요. 자율주행 전기차(EV) 애플카 개발은 2014년부터 100억 달러(약 13조8500억원)를 쏟아부은 대형 프로젝트였습니다. 테슬라의 아성을 무너트릴 것으로 기대됐었죠. 하지만 레벨4 수준의 자율주행 기술 현실화에 어려움을 겪으며 아무런 성과 없이 지난 2월 중단됐습니다. ‘실리콘밸리 빅테크 사상 최악의 실패’라는 혹평을 받았습니다.

     

    ‘AI 시대’ 주역 된 챗GPT… 약진하는 경쟁사들

    애플카의 실패가 준 외상은 작지 않았습니다. 애플이 자율주행차에 공을 들인 사이 엔비디아·MS·메타 등 경쟁사들은 AI에 올인했습니다. 결과적으로 MS가 AI에 집중해 성과를 낸 동안 애플은 막대한 시간과 자원을 잃었기 때문인데요. 애플이 한때 AI 선구자였다는 점을 생각하면 뼈아픈 결과입니다. 애플은 이미 한참 전인 2011년 아이폰4S에 음성인식 AI 서비스 ‘시리’를 탑재해 주목받았습니다. 하지만 시리는 현재 아마존 알렉사나 구글 어시스턴트보다 사용량은 많지만 정확도나 유용성 측면에서 경쟁사보다 떨어진다는 평가를 받고 있습니다.

    그 사이 오픈AI는 MS와 손잡고 생성형 AI 챗봇인 ‘챗GPT’를 만들었습니다. 2022년 출시되면서 AI 시장의 판도를 바꿨는데요. 지난해 여름 출시된 GPT-4는 미국 모의 변호사시험과 대학입학자격시험(SAT) 등에서 ‘인간 수준의 능력’을 보인 것으로 나타났습니다. 올해 여름에는 수학·과학 문제 풀이 능력을 갖추고, 문자뿐 아니라 이미지·영상까지 생성할 것으로 예상하는 GPT-5가 출시될 전망입니다. 지난해 월간 이용자 수는 15억명 수준이었다죠.

    애플의 본업인 스마트폰 시장에서도 AI 활용 열기가 뜨겁습니다. 삼성전자는 지난 1월 실시간 통·번역 등 AI 기능을 탑재한 갤럭시 S24 시리즈를 선보였는데요. 이에 따른 영향인지 글로벌 시장조사업체 IDC 집계 결과 삼성전자는 올해 1분기 전세계 스마트폰 시장 출하량 1위에 올랐습니다. 지난해 4분기 깜짝 1등을 차지했던 애플은 AI 스마트폰 시대가 개막하며 다시 삼성전자에게 선두를 내줘야 했고요.

     

    ‘절치부심’ 애플, iOS 18에 ‘생성형 AI’ 탑재 가능할까?

    애플도 늦게나마 생성형 AI에 과감한 투자를 시작하기로 했습니다. 지난 2월 주주총회에서 팀 쿡 애플 최고경영자(CEO)가 “연내 생성형 AI 관련 계획을 밝히겠다”고 공언한 뒤인데요. 최근 애플인사이더에 따르면 애플은 생성형 AI 학습용 데이터 확보에 1억 달러(약 1300억원)을 투자할 예정입니다. 셔터스톡에서 수백만장의 이미지와 사진 라이선스를 구매하는데 5000만 달러를 쓰고, 주요 언론사·출판사 등에 콘텐츠 이용료로 5000만 달러를 지급할 것으로 보입니다. 과감한 투자로 선발주자들과 격차를 좁히겠다는 의도로 해석됩니다.

    지난 3월에는 캐나다의 AI 스타트업 다윈AI를 인수했는데요. 시장에서는 애플 기기에서 AI를 구동하는 온디바이스AI 역량 강화 목적으로 풀이합니다. 지난해 초부터 ‘에이잭스(Ajax)’로 불리는 자체 대규모언어모델(LLM)을 개발하고 ‘애플 GPT’라 불리는 챗봇을 시험해왔지만 한계에 부딪힌 탓입니다. 애플은 또 최근 구글의 생성형 AI 엔진인 ‘제미나이’를 아이폰에 탑재하기 위해 협상 중인 것으로 알려졌습니다. 구체적인 협상 내용은 알려지지 않았지만 시장에선 애플이 자체 AI 개발보다는 파트너십으로 AI를 개발하는 편을 택했다고 보고 있습니다.

    다만 구글과의 협업은 규제 당국의 반독점법 추가 조사로 이어질 수 있어 우려의 목소리도 나옵니다. 미국 법무부는 지난 3월 말 애플의 ‘폐쇄적 생태계’를 불법적인 배타적 행위로 보고 반독점법 위반 소송을 제기했는데요. 앞서 구글의 ‘검색 엔진’에 대해서도 반독점법을 위반했다고 소송을 제기한 바 있습니다. 하지만 이 같은 논란에도 생성형 AI 후발주자인 애플의 노력은 계속될 전망입니다. 올해 내놓을 운영체제인 iOS 18에 생성형 AI를 도입할 수 있을지 주목됩니다.

    애플, ‘AI 전략’ 6월 WWDC에서 발표할 듯

    오는 6월 10일에는 애플의 연례개발자회의(WWDC 2024)가 열립니다. 이 행사에서 생성형 AI에 대한 청사진과 iOS 18에 새롭게 도입될 AI 기능들을 공개할 것으로 전망되는데요. 매우 중요한 행사가 될 것입니다. 반등의 분수령이 될 수 있지만, AI 랠리에서 낙오된 기업으로 낙인 찍힐 가능성도 있기 때문입니다. 멜리우스리서치의 벤 레이츠 애널리스트는 “AI 기능이 애플의 새로운 ‘슈퍼 사이클’을 만들 수도 있다”고 말했습니다. 기대와 실망은 반비례하는 법. 생성형 AI를 돌파구로 삼으려는 애플의 어깨가 어느 때보다 무거운 시간입니다.

     

     

  • 왜 ‘한국어’의 자연어처리(NLP)는 유독 어려울까?

    왜 ‘한국어’의 자연어처리(NLP)는 유독 어려울까?

    왜 ‘한국어’의 자연어처리(NLP)는 유독 어려울까?

    #딥러닝/인공지능

    #자연어 처리

    #nlp 자연어처리

    우리가 일상적으로 사용하는 언어(자연어)는 컴퓨터가 바로 이해할 수 없습니다. 그렇기에 이를 컴퓨터가 이해할 수 있는 방식으로 다시 처리하는 과정이 필요합니다. 이를 ‘자연어 처리’ 기술이라고 하죠. 자연어 처리(Natural Language Processing)는 사람이 이해하는 자연어를 컴퓨터가 이해할 수 있는 값으로 변환하는 과정입니다. 나아가 컴퓨터가 이해하는 값을 사람이 이해할 수 있도록 다시 바꾸는 과정까지도 포함합니다.

    – 자연어 이해(NLU, Natural Language Understanding)
    – 자연어 생성(NLG, Natural Language Generation)

    자연어 처리는 왜 이렇게 어려울까?

    하지만 인간의 언어를 컴퓨터에게 전달하고, 컴퓨터의 언어를 인간이 이해할 수 있게 바꾸는 이 과정은 여간 쉬운 일이 아닙니다. 이는 언어 자체가 갖고 있는 여러 특징 때문인데요. 예시 문장을 보면서 그 이유를 알아봅시다.

    1. 모호성(Ambiguity)

    1) 표현의 중의성

    차를 마시러 공원에 가는 차 안에서 나는 그녀에게 차였다.

    위 문장을 영어 번역기에 입력했을 때, 우리가 이해한 것을 정확하게 구현하는 영어 문장을 과연 확인할 수 있을까요? 인간의 언어에는 ‘차’와 같이, 소리와 모양은 동일하지만 맥락에 따라 의미가 달라지는 단어들이 있습니다. 우리는 이 문장을 보고 직관적으로 맥락을 파악해내지만, 컴퓨터는 그렇게 할 수 없죠.

    2) 문장 내 정보 부족

    나는 철수를 안 때렸다.

    위 문장은 여러 가지 의미로 해석될 수 있습니다. 언어는 효율성 극대화를 위해 커뮤니케이션 과정에서 많은 정보가 생략되기도 합니다. 하지만 컴퓨터는 자연어를 인간처럼 이해하는데 한계가 있기 때문에, 정보의 생략이 많을수록 자연어 처리는 굉장히 어려워집니다.

    2. 같은 정보를 다르게 표현하기(Paraphrase)

    [문장 1] 여자가 김치를 어떤 남자에게 집어 던지고 있다.
    [문장 2] 여자가 어떤 남자에게 김치로 때리고 있다.
    [문장 3] 여자가 김치로 싸대기를 날리고 있다.
    [문장 4] 여자가 배추 김치 한 포기로 남자를 때리고 있다.

    위의 이미지를 여러 문장으로 표현해보았습니다. 모두 다른 문장이지만, 하나의 이미지를 묘사하고 있죠. 이처럼 문장의 표현방식이 다양하고 비슷한 의미의 단어들이 존재하기 때문에 자연어 처리는 까다롭습니다.

    언어는 생명체와 같아서 효율성을 극대화하기 위한 방향으로 계속해서 진화합니다. 그 과정에서 최대한 짧은 문장에 많은 정보를 담고, 굳이 언급할 필요 없는 정보는 생략하죠. 단, 생략된 맥락을 기계는 인간만큼 단번에 이해할 수 없다는 것이 자연어 처리가 어려운 이유입니다.

    자연어 처리에 딥러닝을 접목하는 이유는?

    그렇다면 자연어 처리에 딥러닝 기술을 접목하는 이유는 무엇일까요? 기존의 전통적인 자연어 처리 방식은 언어가 가진 모호성이나 중의성 등의 문제를 해결하기 어려웠습니다.

    예를 들어, <빨강>, <분홍>, <파랑>이라는 3개의 단어를 컴퓨터에게 입력한다고 해볼까요? 전통적인 자연어 처리 과정에서는 <빨강>과 <분홍>, <파랑>이 각각 동일하게 다른 의미를 지닌 정보로 취급됩니다. 그러나 사람인 우리는 <빨강>과 <분홍>이 어떤 포함 관계에 속하는 유사성을 지닌 단어임을 직관적으로 이해하죠.

    딥러닝을 기반으로 하는 자연어 처리에서는 <빨강>과 <분홍>을 <파랑>과 비교하여 더 가깝고 유사한 관계에 있는 정보라 처리합니다. 다시 말해서, 컴퓨터가 언어에서 연속적인 가치(Continuous Value)를 발견하고 언어를 처리할 수 있게 됩니다. 기존의 자연어 처리 방식이 지녔던 단점을 한층 보완하고, 보다 인간이 이해하는 방식과 유사하게 처리할 수 있습니다.

    왜 ‘한국어’ 자연어 처리는 유독 어렵게 느껴질까?

    1) 접사 추가에 따른 의미 발생

    예를 들어보겠습니다. 한국어로 ‘사과’라는 단어와 접사를 붙여 문장을 만들어 보세요. ‘사과(어간)’ + ‘를(접사)’일 때는 ‘사과’가 목적어가 되지만, ‘사과(어간)’ + ‘가(접사)’일 때는 ‘사과’가 주어가 되어 같은 언어도 문법적 기능이 달라지는 걸 볼 수 있죠. 이는 교착어인 한국어의 대표적인 특징입니다.

    2) 유연한 단어 순서

    나는 밥을 먹으러 간다.
    밥을 먹으러 나는 간다.
    나는 간다, 밥을 먹으러.

    한국어는 단어의 순서를 바꾸어도 전체 맥락을 이해하는데 전혀 문제가 없습니다. 몇 가지 경우를 제외하면, 어순이 바뀌어도 문법적인 오류가 없는 올바른 문장이라 볼 수 있습니다. 이러한 언어적 특징은 인간에게는 편리하지만, 컴퓨터에게는 매우 어렵습니다. 어순이 제각각이지만 의미는 동일한 이 문장들을 동일한 정보로 처리하는 것이 쉽지 않기 때문입니다. 한국어의 자연어 처리가 유독 더 어려운 이유입니다.

    3) 모호한 띄어쓰기 규칙

    근대 이전까지 동양의 언어에는 ‘띄어쓰기’ 개념이 존재하지 않았습니다. 서양문화권에서는 중세부터 띄어쓰기가 확립된 것과 비교해보면 늦은 편이죠. 한국어는 맞춤법 상 띄어쓰기 규칙이 정해져 있기는 하나, 띄어쓰기를 지키지 않아도 문장의 맥락을 이해하는데 큰 무리가 없는 언어입니다. 문제는 사람들이 띄어쓰기를 지키지 않고 뭉텅이로 작성한 텍스트를 컴퓨터가 정확하게 인식하는 것이 매우 어렵다는 점이죠.

    4) 평서문과 의문문의 차이 없음, 주어 부재

    점심 먹었어. (I had lunch.)
    점심 먹었어? (Did you have lunch?)

    어순의 변화 없이, 주어가 생략되어도 한국어는 이해하는데 큰 문제가 없습니다. 하지만 똑같은 의미의 문장을 영어에서 한국어로 컴퓨터가 번역하는 것과, 한국어에서 영어로 변환하는 데에는 큰 차이가 있습니다. 동일한 문장에 마침표 대신 물음표를 붙이고, 주어에 대한 정보를 생략하더라도 한국어에서는 문장이 완성됩니다. 따라서, 컴퓨터가 숨겨진 맥락이나 의미를 파악하는데 더 까다로울 수밖에 없습니다.

  • 컴퓨터비전 최신 SOTA 모델로 프로덕트 성능 개선하기

    컴퓨터비전 최신 SOTA 모델로 프로덕트 성능 개선하기

    컴퓨터비전 최신 SOTA 모델로
    프로덕트 성능 개선하기

    #SOTA

    #컴퓨터비전

    #딥러닝

    1. 딥러닝 엔지니어들의 고민?

    딥러닝 프레임워크 (python, pytorch,tensorflow..)도 다룰 줄 알고, CNN 관련 모델을 구현해본 경험도 있지만..컴퓨터비전 오픈 소스를 활용하거나 논문 코드를 구현해서 내 모델에 적용시키거나, 내 알고리즘의 성능을 개선시켜 궁극적으로 원하는 결과를 얻는 것이 힘든 분들 계신가요?

    여러분이 겪고 있는 고민을 해결하기 위해서는 무엇보다 ‘제대로 된 논문 코드 구현’을 할 줄 알아야합니다.

    실무 환경에 따라 모델을 적용해야 하는데 논문에서 말하는 모델의 특징을 잘 이해하지 못하여 구현된 코드의 의미를 파악하지 못한 상태에서 코드를 적용하면 원하는 결과를 얻기 어려울 것이고, 시행 착오 또한 많이 겪게 되기 때문에 논문 구현이 어렵다고 느낄 것입니다. 또한 오픈 소스를 활용하면 구현의 시간을 단축하는데 도움이 되지만 본인 혹은 회사의 코딩 스타일이나 룰에 맞지 않을 수 있고, 이해하지 못한 상태에서 편의상 그냥 코드를 적용하여 잠재적 이슈가 포함된 모델이 될 수 있습니다. 오픈 소스를 이해해서 원하는대로 수정하거나 적용 가능하게 내 것으로 만드는 것이 우선되어야 하기 때문에 궁극적으로 더 나은 엔지니어가 되기 위하여 논문 코드 구현을 할 줄 알아야 합니다!

    2. 논문 코드 구현 학습으로 내 고민 해결!

    그럼 논문 코드 구현을 배우면 어떻게 달라질 수 있을까요?

    Next step으로 넘어가고싶은 주니어 엔지니어 고민 해결
    논문으로 구현된 오픈소스를 보고 현업에서 서비스에 적용하기 위한 프로토타입을 빠르게 구현해서 시니어 엔지니어로 올라가기 위한 하나의 벽을 허무는 데에 도움이 될 수 있습니다.

    AI 분야로의 이직 및 업종 전환이 필요한 시니어 엔지니어의 고민 해결
    배우지 않은 것들 이외에 스스로 논문을 적용하는 부분과 실제 개발과정에서의 문제를 해결하며 이해도를 높일 수 있습니다.

    최신기술 동향 파악이 필요한 관리자 및 C-Level의 고민 해결
    비즈니스 측면에서 실제 알고리즘에 대한 이해와 최신 논문 구현 오픈소스들의 활용법에 대한 궁금증을 해소해 vision deep learning 분야의 트렌드가 어디로 향하고 있는지 파악하는데 도움이 됩니다.

    결국! 논문을 잘 이해하면 정확도가 높은 새로운 모델을 만들어내거나 training에 대한 시행 착오를 줄이는데 많은 도움이 됩니다.
    최신기술 동향까지 파악할 수 있다는 것도 장점이지요.

    3. SOTA 모델로 알고리즘 성능 개선하기

    그런데 내 프로덕트 성능을 개선하고, 최신트렌드를 파악하기 위해서는 도대체 어떤 논문 코드 구현을 배워야 할까요?
    바로 컴퓨터비전의 최신 SOTA 모델입니다!

    1) SOTA 모델이란?

    ‘SOTA’는 ‘State-of-the-art’의 약자로, ‘현재 최고 수준의 결과’를 가진 모델로, 현재 수준에서 가장 정확도가 높은 모델을 의미합니다.

    2) 컴퓨터비전 SOTA 모델 학습이 필요한 이유

    컴퓨터비전과 같은 분야의 경우 최신 기술/최신 연구 내용이 매우 종요한 분야입니다.
    계속해서 새로운 SOTA(State-of-the-art) 알고리즘이 출시되고 있고, 내가 열심히 사용한 알고리즘보다 성능이 뛰어난 알고리즘이 나온다면 지금 짜고 있는 코드가 무용지물이 될 수 있기 때문입니다. 그렇기 때문에 문제와 데이터에서 얻은 인사이트로 급변하는 컴퓨터비전 현업 문제에서 가장 정확도가 높은 SOTA 모델로 내 알고리즘의 성능을 개선시키는 작업이 필요한 것입니다!

    4. 컴퓨터비전 SOTA 모델의 실무 적용 사례

    그럼 컴퓨터비전의 최신 SOTA모델을 실무에 어떠한 방식으로 적용해볼 수 있을까요?

    1) 피부암을 AI로 감별하여 진단할 수 있는 SOTA 모델 적용

    이 프로젝트는 암 진단을 필요로 하는 의료 분야에서의 실무 적용 사례이며, ‘Deep Residual Learning for Image Recognition (2016, CVPR)’ 논문의 ‘ResNet-152’ 모델을 적용하여 진단에 활용 가능합니다.

    출처: ‘피부암’ 이제 인공지능으로 감별하는 시대, 의학신문

    암 진단 정확도를 평가하는 데에는 질병을 가지고 있을 때 질병이 있다고 진단하는 민감도와 질병을 가지고 있지 않을 때 질병이 없다고 진단하는 비율인 특이도가 사용되는데요. 딥러닝 기반의 인공지능 모델 ResNet-152로 악성 흑색종을 진단한 결과 민감도는 91%, 특이도는 90.4%의 결과를 얻어낼 수 있었습니다.

    어떻게 이러한 결과를 얻어낼 수 있었던걸까요? 바로 피부 종양의 악성 여부를 나타내는 종양의 비대칭성과 가장자리 불규칙성 등을 분석할 수 있도록 인간의 시신경을 본뜬 합성곱 신경망(CNN) 구조로 이뤄진 인공지능 모델 ‘ResNet-152’에 2만여 개의 피부 종양 사진을 학습시킨 후 추가로 2,500여 장의 사진을 판독시켜 얻어낸 결과입니다.

    ‘ResNet-152’ 모델은 영상 인식 분야에서 사람과 필적한 성능을 보이는 것으로 알려진 마이크로소프트의 인공지능 모델인데요. 이 모델을 활용해 높은 적중률로 피부암을 진단함으로써 의료 접근성을 높여 피부암 조기 진단 및 치료에 도움을 줄 수 있습니다.

    이렇게 최신의 컴퓨터비전 SOTA 모델을 활용함으로써 사람이 아닌 AI를 통해서도 악성 피부암의 조기 진단이 가능한 시대를 만든 것이죠!

    2) 직종별 SOTA 모델 적용에 따른 기대 효과

    컴퓨터비전의 SOTA 모델은 다양한 직종에 적용하여 성능을 개선할 수 있는데요. 예를 들어 제조업에서는 VIT (Vision Transformer) 및 Convolution Network 모델 등의 학습을 통해 불량 탐지를 자동화하여 수율을 높이고, 편리성도 개선할 수 있습니다.

    Vision Transformer (VIT)

    Transformer를 활용한 Computer Vision 모델인 Vision Transformer (VIT)와 같은 최신 SOTA 모델을 학습하여 제조업 불량 검출 프로젝트를 개선해볼 수 있습니다!

    어떻게 이러한 결과를 얻어낼 수 있었던걸까요? 바로 피부 종양의 악성 여부를 나타내는 종양의 비대칭성과 가장자리 불규칙성 등을 분석할 수 있도록 인간의 시신경을 본뜬 합성곱 신경망(CNN) 구조로 이뤄진 인공지능 모델 ‘ResNet-152’에 2만여 개의 피부 종양 사진을 학습시킨 후 추가로 2,500여 장의 사진을 판독시켜 얻어낸 결과입니다.

    ‘ResNet-152’ 모델은 영상 인식 분야에서 사람과 필적한 성능을 보이는 것으로 알려진 마이크로소프트의 인공지능 모델인데요. 이 모델을 활용해 높은 적중률로 피부암을 진단함으로써 의료 접근성을 높여 피부암 조기 진단 및 치료에 도움을 줄 수 있습니다.

    이렇게 최신의 컴퓨터비전 SOTA 모델을 활용함으로써 사람이 아닌 AI를 통해서도 악성 피부암의 조기 진단이 가능한 시대를 만든 것이죠!

    출처: ‘An Image is Worth 16*16 Words: Transformers for image Recognition at Scale (2021, ICLR)

    VIT는 Transformer를 Image patch의 Sequence에 적용하여 Classification을 수행합니다.
    Transformer는 Computational efficiency와 Scatability한 속성을 갖고 있어 매우 큰 크기의 모델로 확장합니다. 큰 크기로 확장된 Transformer를 매우 큰 크기의 데이터셋으로 학습하여 SOTA를 달성할 수 있습니다.
    이 모델을 학습한다면 제조업에서의 불량 검출에 활용할 수 있게 되죠!

    또한 제조업이라고 해서 양산만 있는 것이 아니기 때문에 디바이스에 들어가는 소프트웨어에도 적용할 수 있습니다.
    연구 조직의 경우에도 SOTA 모델 최신 논문을 꾸준히 트래킹하여 연구하고 직접 논문 작성을 하는 과정이 필요할 것이고, 이러한 일련의 활동들이 새로운 아이디어 도출에 큰 도움이 되기도 합니다.

  • 개발자 취업 트렌드는 인공지능! 백엔드 개발자도 이제 AI를 알아야 합니다

    개발자 취업 트렌드는 인공지능! 백엔드 개발자도 이제 AI를 알아야 합니다

    개발자 취업 트렌드는 인공지능! 백엔드 개발자도 이제 AI를 알아야 합니다

    #딥러닝/인공지능

    #인공지능

    #알고리즘

    인공지능 기술이 실생활에서 크고 작은 영향을 주는 4차 산업 혁명 시대가 다가오면서 개발자의 취업/이직 경쟁도 치열해지고 있습니다. 지난 2022년 2월, 파이낸셜뉴스 보도에 따르면, IT 개발자 채용 플랫폼에 등록된 개인회원 가입자 수가 2분기 만에 2배 이상 증가했으며, 상시 등록된 이력서도 8배 이상 늘었다고 하네요.

    이런 상황에서 더 좋은 회사에서 더 많은 연봉을 얻기 위해서는 어떤 준비가 필요할까요?
    바로 인공지능(AI)에 대한 공부가 필요합니다. AI 중요성이 높아지는 4차 산업 혁명 시대 속에서, 더 좋은 일자리로 취업하기 위해 인공지능 관련 공부에 힘쓰는 개발자들이 늘고 있죠.

    백엔드 개발자 역시 예외가 아닙니다. AI 관련 역량이 뛰어난 개발자일수록 취업/이직 시장에서 유리한 위치를 점하고 업무 범위도 넓힐 수 있죠.
    그 이유는 무엇일까요? AI 쪽으로 취업/이직을 원하는 백엔드 개발자라면 어떤 준비가 필요할까요?

    서비스의 뼈대를 만드는 백엔드 개발자

    신축 아파트에서 초고층 빌딩까지 건물을 지을 때는 멋진 외관과 근사한 인테리어를 만드는 것이 중요합니다. 하지만 기초를 튼튼히 하고 뼈대를 제대로 세우는 일 역시 중요하죠. 그래야 벽에 금이 가거나 무너질 걱정 없이 오랫동안 건물을 사용할 수 있기 때문이죠.

    애플리케이션과 서비스 역시 기초가 튼튼해야죠. 이러한 기초를 만들고 관리하는 개발자가 바로 백엔드 개발자입니다. 백엔드 개발자는 데이터를 처리하고 저장하는 일에서 UI가 없는 시스템 컴포넌트 작업, 서버 개발 및 인프라 관리, API 작성, 라이브러리 생성, 데이터베이스 통합에 이르기까지 다양한 업무를 수행하죠. 한편, 사용자가 직접 경험하는 UI, UX 등의 개발에 초점을 맞추는 개발자는 프론트엔드 개발자라 합니다.

    그래서 백엔드 개발자는 맡는 일의 범위가 넓습니다. 개발 및 유지/보수는 물론 데이터 분석을 위한 엔지니어링, 분산파일 시스템을 만들기도 하고, 프로젝트에 따라 데이터베이스 관리, 프론트엔드 개발에 참여하는 경우도 있죠. 이는 인접 분야와 관련된 전문성을 키우고 인맥을 넓히는 데 큰 도움이 됩니다.

    또 하나의 특징으로는 프론트엔드에 비해 프로그래밍 언어 선택의 폭이 넓다는 점이 있습니다. 백엔드에서는 PHP를 비롯해 Node.js, JavaScript, C++, Java, Python 등의 언어를 특성과 작업 방향 등을 고려하여 선택하고 업무를 진행하죠.

    이는 개발 분야의 변화에 유연하게 대처할 수 있음을 뜻합니다. 개발 분야에 ‘대격변’이 일어남은 물론 기존의 개발 분야도 빠른 속도로 더 깊게 발전하는 경우도 많아요. 이렇게 새로운 개발 분야가 탄생하는 상황에서 백엔드 개발자는 다양한 프로그래밍 언어 스킬을 바탕으로 비교적 쉽게 적응할 수 있답니다.

    종합해보면 백엔드 개발자는 할 수 있는 일이 많고 언어도 상황에 맞춰 다양하게 활용할 수 있어서 급변하는 개발 환경 속에서도 안정적이라는 장점이 있습니다. 여기에 자신만의 특화된 전문 분야와 개발 능력까지 갖춘다면 백엔드뿐만 아니라 프론트엔드, 풀스택 개발자, 시스템 엔지니어, 데이터 엔지니어 등 다양한 분야에 도전할 수 있죠.

    인공지능 공부로 백엔드 개발 역량 키워야

    기술이 발전하면서 개발 분야가 다양화되고 새로운 개발에 대한 수요가 늘어나고 있습니다. 이런 변화 속에서 개발자가 한 번 맡은 분야를 영원히 담당한다는 보장은 없습니다. 그래서 오래오래 일하고 싶다면, 새로운 개발 분야에 바로 적응할 수 있도록 역량을 쌓는 것이 중요해요.

    그렇다면 어떤 분야에 관한 공부가 필요할까요? 바로 인공지능입니다. 인터넷 기업뿐만 아니라 전통적인 제조업은 물론 공공기관에서도 AI 기술을 적용해 업무 효율을 높이고 인사이트를 얻기 위해 힘을 쓰고 있습니다. 이에 따라 인공지능 시장도 급성장하고 있는데요. 지난 2022년 3월, 시장조사기관 한국IDC는 향후 5년간 국내 AI 시장이 연평균 성장률이 15.1%에 달할 것으로 예측했습니다. 그만큼 성장세가 뚜렷하다는 걸 알 수 있죠.

    이렇게 급성장하는 인공지능을 잘 아는 개발자가 있다면 더 좋은 커리어를 쌓을 수 있을 것입니다.

    특히 백엔드 개발자는 다루는 업무의 범위가 넓은 만큼 AI 역량까지 갖췄다면 더 좋은 기업으로 이직하기 쉬워지고, 자신이 원하는 업무로 전향하기도 수월해지죠.

    인공지능을 공부하고 싶으시다면 딥 러닝(Deep Learning) 역시 잘 이해해두는 것이 좋습니다. 딥 러닝은 머신 러닝(Machine Learning)의 일종으로, 인간의 뇌에서 신경 세포를 사용하는 방식과 비슷한 알고리즘으로 인간이 쉽고 자연스럽게 하는 일을 컴퓨터에 가르치는 것을 뜻합니다. 인공지능이 제대로 인공지능답기 위해서는 딥 러닝이 필요한 것이죠.

    인공지능에 대한 이해가 더 좋은 서비스 만든다

    단순히 취업/이직 시장에서 유리해지는 것 이외에도 인공지능 이해도가 높아지면 개발에도 큰 도움이 됩니다. 먼저 유저가 어떤 서비스를 이용하는지, 그 서비스에 딥러닝/AI를 어떻게 적용할 수 있는지에 대한 역량을 얻을 수 있어요. 이는 인공지능과 사람 사이의 더 많은 연결고리를 만들 방법에 대해 고민할 수 있는 인사이트를 제공합니다.

    AI를 공부하면 인공지능의 가장 중요한 재료인 데이터를 어떻게 가공하고 분류해서 사용할지에 관해 더 훌륭한 솔루션을 제시할 수 있습니다. 데이터가 서비스를 만들 때 어떻게 적용할지에 대해서도 더 유연하게 생각하여 적용할 수 있게 되죠.

    영상처리를 예로 들어 살펴볼까요? 자율주행이나 스마트팩토리 등에 사용되는 영상처리는 영상을 분석하고, 해당 물체의 속도, 나와의 위치, 인식 등을 하는 기술입니다.
    AI에 대한 이해도가 높다면 영상 처리를 위한 영상 데이터를 어떻게 가공하고 분류하여 사용할지를 근본적으로 고민할 수 있게 됩니다. 그리고 이에 맞춰 빅데이터 배치 처리, 색인/검색에 필요한 기술을 개발할 수 있죠.

    실제로 백엔드 개발자들이 AI 회사에 취직해 활동하는 경우도 많아요. 인공지능 회사에서 백엔드 개발자는 머신러닝/딥러닝 기반의 연구 결과를 서비스에 적용하는 데 필요한 백엔드 시스템 개발에 나섭니다. 또한, AI 서비스에 필요한 플랫폼과 멀티미디어 데이터 처리 기술 개발에도 참여합니다.

    특히 대용량의 서비스를 개발하는 백엔드 개발은 AI/빅데이터 시대에 있어 꼭 필요한 과제입니다. 백엔드 개발자라면 이제 AI 역량을 갖추는 것이 필수라고 할 수 있죠. 지금이라도 인공지능 공부에 나서야 하는 이유입니다.

    백엔드 개발자, 어떤 AI 역량이 필요할까?

    AI 역량이 있는 개발자는 그렇지 않은 개발자와 서비스를 만들 때 접근할 수 있는 시각의 범위가 다릅니다. 그래서 인공지능 기반 서비스 기업에서는 다양한 AI 역량을 갖춘 백엔드 개발자를 찾고 있습니다. 구체적으로는 어떤 역량이 요구될까요?

    먼저 DepOps/MLOps에 대한 이해가 필요합니다. DevOps는 애플리케이션과 서비스를 더 빠르게 제공할 수 있도록 개발 및 유지 관리와 관련된 모든 역할 간 협업을 조성하는 것이며, MLops는 머신 러닝 개발과 운영을 통합하는 것으로 데이터 레이블링의 일관성을 위해 인프라를 만들어 자동으로 운영되게 하는 역할을 뜻하죠.

    또한, C/C++, Python 등 하나 이상의 언어에 능숙해야 하며, node.js, Go, Java/Kotlin 등 백엔드 개발에 사용되는 언어를 하나 이상 잘 알아야 합니다. 애플리케이션을 신속하게 구축하고 배포할 수 있는 도커(Docker)에 대한 기본적인 지식도 필요해요. 특히 기업에서는 AI 개발자 지원자의Python/TensorFlow/NLP 등과 관련된 역량을 많이 보고 있습니다.

    AI 백엔드 개발자를 모집하는 기업별로 어떤 역량을 우대하는지 알아보는 것 역시 취업 시장에서 승리하는 데에 도움이 됩니다. 한 예로, 인공지능을 바탕으로 버추얼 휴먼을 개발하는 A사에서는 AWS, Azure 등의 클라우드 환경 기반 개발, 배포 및 운영 경험을 선호했습니다. 한편, 게임업체 B사에서는 새로운 빅데이터 분석플랫폼에 꾸준한 관심을 가진 백엔드 개발자를 선호했죠.

    모델링, 데이터 엔지니어링 등 다양한 분야에서 일하는 백엔드 개발자는 AI 리서치를 비롯한 인공지능 서비스 개발 업무에 유용하게 적용할 수 있죠. 이 때문에 최근 AI 기업에서는 이러한 능력을 갖춘 ‘백엔드 개발자’를 선호하죠. 그래서 개발자 커리어를 더 순탄하게 쌓기 위해서는 탄탄한 AI 역량을 보유한 개발자로 거듭나야 합니다.

  • ‘파이썬 생초보’를 위한 기초부터 머신러닝 독학까지! 이렇게 해보세요.

    ‘파이썬 생초보’를 위한 기초부터 머신러닝 독학까지! 이렇게 해보세요.

    ‘파이썬 생초보’를 위한 기초부터 머신러닝 독학까지! 이렇게 해보세요.

    #파이썬

    #머신러닝

    #딥러닝

    개발자가 아닌 비전공자, 문과생이라도 요즘은 누구나 파이썬 배우는 것 아닌가요?

    남들 다 한다고 무작정 시작하려고 하시나요? 파이썬을 너도나도 배운다고 해서 꼭 배워야 할까요? 그건 절대 아닙니다.
    여기서 짚고 넘어가야 할 점은 파이썬 프로그래밍을 배워서 무엇을 하고 싶은 것인지 입니다.
    파이썬을 공부하는 목적이 명확하다면 혼자서도 독학할 수 있는 방법은 많을테니까요.
    오늘은 입문자, 생초보를 위한 파이썬 기초 강의부터 머신러닝/딥러닝 분야의 강의들을 추천 해 보려고 합니다.

    과연 파이썬을 활용해서 무엇을 할 수 있을까요?

    파이썬은 다양한 분야에서 활용되는 프로그래밍 언어인데요. 파이썬을 활용해서 할 수 있는 업무들을 알아볼게요.

     
    ✔ 데이터 분석

     

    ✔ 머신러닝(Machine Learing)

     

    ✔ 딥러닝(Deep Learing)

     

    ✔ 매크로(자동화 프로그램) 구현

     

    ✔ 웹 프로그래밍

     

    이 외에도 파이썬 프로그래밍을 배우면 할 수 있는 업무의 폭은 상당히 넓고 또 다양한데요. 파이썬은 읽고 쓰기가 쉽고, 다른 프로그래밍 언어에 비해 직관적인 문법으로 입문하기 좋다는 장점도 있습니다. 이제 파이썬으로 내가 도전해보고 싶은 분야에 맞춰서 시작하기 좋은 강의를 추천 해 드릴게요.

    1. 머신러닝이 목표라면?
    파이썬 기초부터 머신러닝 프로젝트까지 완성 해 봐요.

    머신러닝 공부를 한 번 시작해보고 싶으셨다고요? 그런데 배워야 하는 내용도 상당히 많고 선수 지식이 필요한 책이나 강의가 대부분이죠. 머신러닝 기술을 구현하기 위해서는 파이썬 지식이 필수적이에요. 파이썬을 통해 데이터를 수집, 처리, 분석하는 프로세스를 진행할 수 있기 때문인데요. 동시에 수학과 통계 지식 또한 필요하기 때문에 애초에 입문하기가 쉽지 않으실거에요.

    머신러닝과 데이터 분석 A-Z 올인원 패키지 강의에서는 파이썬 기초부터 배우실 수 있으니 더 이상 걱정하지 마세요. 데이터 분석과 머신러닝 및 딥러닝 기술 구현에 대해 전반적으로 다루기 때문에, 데이터 분석에 필요한 파이썬 프로그래밍부터 공부할 수 있습니다. 모빌리티, 마케팅, 커머스, 제조업 등 다양한 분야에 머신러닝 기술을 적용하는 프로젝트도 진행하니, 자세한 커리큘럼은 강의 상세페이지에서 확인 해 주세요.

    ▲클릭해서 강의 보러가기▲

    ✔ 코딩 기초, 데이터분석, 딥러닝까지 정복
    ✔ 파이썬/R 25개 프로젝트로 실전까지 커버
    ✔ 실무 연습용 데이터로 활용도 UP

    2. 지겨운 단순 반복 업무.
    자동화하고 야근에서 벗어나고 싶다면?

    일반 사무직으로 근무하거나, 업무 특성상 단순 반복 업무가 많다면 파이썬 프로그래밍을 배워두시는 것을 추천 드리는데요.직장인이 회사에서 처리해야 하는 상당수의 업무를 매크로 프로그램으로 만들어 자동화 할 수 있기 때문이에요.

    자동화 프로그램을 돌리기 위해 모든 파이썬 코드를 배울 필요는 없어요. 자동화 프로그램을 돌리기 위해 필요한 파이썬 코드는 한정적이기 때문에 필요한 만큼만 배우면 됩니다. 평소 단순 반복 작업으로 회사에서 현타를 느끼거나, 업무 시간이 부족해서 비효율적으로 일을 하고 있다면 커리큘럼을 상세히 확인 해 보세요. 파이썬 배우고 더 스마트하게 업무를 처리 해 보세요.

    ▲클릭해서 강의 보러가기▲

    ✔ 기초-실전-심화 응용까지 한번에
    ✔ 실무 사용 빈도 높은 5가지 업무/상황별 예제 94가지
    ✔ 업무에 그대로 활용가능한 템플릿 5종

    3. 데이터 분석을 해야하는
    비전공자 직장인이라면?

    개발자나 엔지니어가 아니더라도 데이터 분석의 중요성을 체감하는 직장인 분들이 계실 거에요. 특히, 데이터를 기반으로 의사결정을 하고 누군가를 설득해야 하는 일이 많으시다면 한 번쯤 데이터 분석 공부를 결심하죠. 그 후 이런 어려움에 직면하기도 합니다.

    데이터 분석을 어떻게시작하는지조차 모르겠어요..
    낯선 코딩 문법 이론들부터 배워야 하나요?
    아무리 공부해도 막상 내 업무에 어떻게 적용할지 모르겠어요.
    수학부터 여러가지 프로그래밍 언어를 공부해야 할 것 같은데 전 수포자라…

    이런 분들이라면 파이썬 문법 위주의 학습보다는, 실질적으로 데이터 분석이 어떻게 이루어지는지 눈으로 확인하면서 배우는 과정이 필요한데요. 최근에는 코딩 없이 데이터를 처리하고 분석까지 도와주는 비주얼 코딩 툴도 굉장히 많아요. 직장인을 위한 파이썬 데이터 분석 강의에서는 비주얼 코딩 툴을 활용해서 코딩 없이 데이터 분석 과정을 먼저 경험할 수 있습니다.

    입문자 입장에서는 파이썬 프로그램 설치와 개발 환경 세팅부터 문제일텐데요. 별도의 설치없이 파이썬 코딩이 가능한 Colab이라는 클라우드를 활용해서 수업을 들을 수 있습니다.

    ▲클릭해서 강의 보러가기▲

    ✔ 설치 에러 없는 공유 클라우드 Colab 실습
    ✔ 문법뿐만 아니라 시각화 표현까지 마스터
    ✔ 14개 산업군, 28개 직무의 30가지의 다양한 예제

  • YOLO v3 기반 사용자 데이터 라벨링, 훈련/객체 인식 기술 개발

    YOLO v3 기반 사용자 데이터 라벨링, 훈련/객체 인식 기술 개발

    YOLO v3 기반 사용자 데이터 라벨링, 훈련/객체 인식 기술 개발

    #YOLO

    #객체 감지 알고리즘

    #컴퓨터비전

    “골치 아픈 밀린 자동차세 징수…AI 블랙박스가 체납 차량 찾아드립니다.”, “딥러닝 객체 알고리즘 개발하여 드론 기반의 생존자 수색 기술 개발”
    이 모든 것들이 ‘YOLO’ 알고리즘을 통해 개발되었다는 사실 알고 계신가요?

    [ 건설 객체 탐지 딥러닝 모델 결과 ]

    이번 글에서는 YOLO v3 기반 시멘틱 객체 라벨링, 훈련 및 인식 기술 개발 방법을 간단히 다뤄보려 합니다. 참고로 YOLO v3는 이전 버전 욜로에 비해 정확도는 높아졌고, 속도는 다소 낮아졌는데요. 본 콘텐츠에서 YOLO를 이용해 다음과 같이 건설 객체를 인식할 수 있는 딥러닝 모델을 개발하는 방법을 알아보도록 하겠습니다!

    * 본 콘텐츠는 다크넷 및 YOLO 개발 환경이 구축되었다고 가정하여 작성되었습니다.

    YOLO 출력 구조 이해

    YOLO의 예측 결과는 클래스 별로 예측된 경계박스(anchor box={cx, cy, width, height})입니다. 이 경계박스를 다음 그림과 같이 클래스별로 입력된 학습데이터에 맞게 조정해 학습모델을 만듭니다.

    그러므로, YOLO의 학습 모델은 train data={image, {anchor box, label}*} 가 입력되고, 출력으로 output={anchor box, objectness score, class scores}* 가 되는데요. (*=multiple) 이는 이미지를 격자화해, 3개의 aspect ratio별 anchor box로 출력되며, 이 결과로 COCO 데이터셋 80개 클래스 경우 각 격자(cell)마다 depth 방향으로 (4 + 1 + 80) * 3 = 255 개 depth가 쌓이게 됩니다.

    또, AutoML은 인공 신경망 기술을 활용하여 적합한 아키텍처를 찾는 과정을 자동화한다는 장점이 있습니다. 이를 신경망 아키텍처 탐색(Neural Architecture Search; NAS)라고 합니다. 인공지능 연구는 대부분 사람이 각 데이터마다 목적에 맞게 신경망 구조를 디자인합니다. 하지만, 데이터가 바뀌거나 목적이 달라질 때마다 매번 그에 적합한 구조를 찾는 것은 어려운 일이겠죠? 그래서 최적의 구조를 찾는 과정도 AI로 해결하려는 시도가 바로 NAS입니다.

    AutoML을 활용하면 훨씬 직관적으로 간단한 코드만으로도 작업할 수 있습니다. AutoML은 모든 과정을 자동으로 진행하기 때문에 코드 몇 줄만 적어내면, 모든 머신러닝 작업을 간단하게 끝낼 수 있습니다. 기존에 10개의 코드가 필요했다면, 1개의 코드로 자동화할 수 있게 되는 것이죠.

    경계박스 정의

    경계박스 정의 이미지 별 격자 크기는 13×13, 26×26, 52×52인 3가지 종류로 나뉩니다. 다음 그림은 이를 보여줍니다.

     

    참고로, 기존 방법(SSD, R-CNN)은 정해진 ratio의 경계박스만 사용했습니다.

    * YOLO v1: 98 boxes=7×7 cells. 2 boxes per cell. 448×448 pixels
    * YOLO v2: 845 boxes=13×13 cells. 5 anchor boxes. 416×416 pixels
    * YOLO v3: 10,647 boxes=((52×52) + (26×26) + (13×13)) x 3 (anchor box count). 416×416 pixels

    모델구조 재활용

    앞서 설명한 부분을 제외한 나머지 부분은 기존에 개발된 CNN(Convolutional Neural Network), FCN(Fully Convolutional Network), ResNet 등을 재활용합니다. 일반적으로 활용되는 ResNet은 네트워크의 깊은 깊이로 인한 gradient vanishing/exploding 문제로 Degradation되는 현상을 피하기 위해 개발된 것입니다. 만약, 신경망 학습목적이 입력 x를 목적값 y로 맵핑하는 함수 H(x)를 탐색하는 것이라면, 학습방향은 H(x) − y를 최소화하는 것입니다. ResNet에서는 관점을 바꿔 H(x) − x를 탐색하도록 수정합니다. 입출력 잔차를 F(x) = H(x) − x로 정의를 하고 학습은 이 F(x)를 탐색합니다. 이 F(x)가 잔차이므로, 이를 Residual learning, Residual mapping라 합니다. 계산 상으로는 단순히 F(x) + x를 한 것으로 그 전 레이어 값을 더하고 relu연산 적용한 것 뿐인데 이런 문제를 개선해 높은 성능을 얻었습니다.

    [ ResNet 핵심 구조(좌=기존. 우=ResNet) ]

    Up-sampling은 저해상도에서 고해상도로 이미지 스케일 업할 때 사용되는데요. 이는 보간법과 유사한 방식으로, Transpose convolution, Deconvolution으로 불립니다.

    최종 YOLO 모델 구조

    이런 입출력을 고려해 CNN 레이어를 개발하면, 다음과 같은 YOLO 딥러닝 모델이 됩니다.

    [ YOLO 딥러닝 모델 레이어 구조(Xin Nie 외, 2019) ]

    이 결과로 다음과 같이 객체 세그먼테이션이 가능해지는 것이죠!

    YOLO 실행 환경 테스트

    YOLO가 제대로 설치되었다면 제대로 실행되는 지 테스트해보기 위해 COCO 데이터를 다운로드 받아 수정하고, 학습 작업을 하여 제대로 수행되는지 확인해보는 작업을 거칩니다. 제대로 수행되면, 다음 단계에서 YOLO v3 기반 예측 모델을 개발해 보도록 하겠습니다.

    딥러닝 기반 예측 모델 개발 순서

    딥러닝 모델을 학습하고, 이를 통해 사용자 데이터에서 객체 예측 모델을 개발하는 순서는 다음과 같습니다.

    이 글에서 딥러닝 모델 사용 목적은 건설 객체 중 건설장비와 작업자를 인식하는 것입니다. 딥러닝 모델은 YOLO v3로 선정하였고, 전이학습을 사용합니다. 이후 과정은 다음과 같습니다.

    학습 데이터 준비

    딥러닝의 가장 큰 장애물은 학습 데이터를 준비하는 것입니다. 지금까지 딥러닝 연구자들의 많은 노력으로 수많은 딥러닝 모델이 이미 개발되어 있는데요. 이 것을 잘 활용하면 되는 좋은 모델이 많습니다. 하지만, 각자 응용 영역에 적용할 수 있는 데이터는 매우 제한되어 있는 것이 문제죠.
    딥러닝에서는 데이터가 소스코드나 마찬가지이므로, 학습용 데이터 확보가 매우 중요합니다. 하지만, 학습 데이타를 만들기 위해서는 매우 노동집약적인 작업이 필요합니다. 참고로, DQN(Deep Q-Networks)와 같은 강화학습(reinforcement learning)을 사용할 수도 있는데요. 하지만, 강화학습은 일정 규칙을 추출할 수 있어 바둑과 같이 학습 데이터 생성을 예상할 수 있는 문제에서 적용이 가능한 방법입니다.
    본 글에서는 학습 데이터를 건설 중장비 이미지를 준비해 봅니다. 그리고, CNN 기반 딥러닝 모델을 학습해 봅니다. 이미지 준비를 위해 구글에서 이미지를 다운로드하는 프로그램을 다음과 같이 설치하고, 실행한다. 이 작업을 위해서는 미리 아나콘다 개발 환경이 준비합니다.

    [ 인터넷 이미지 자동 다운로드 결과 ]

    이제 중복, 불필한 데이터 등을 삭제하는 등 필터링하고, 별도 학습용 폴더에 저장합니다. 저장 후에는 학습 데이터 파일명을 변경하고 데이터 크기를 조정합니다.
    참고로, 이미지 데이터가 부족하여 학습 정확도에 문제가 생긴다면 imgaug를 활용해 데이터 파일을 증폭시킵니다. imgaug는 bounding box(바운딩 박스)를 유지한 상태로 데이터 파일을 증폭시킬 수 있습니다.

    [ 이미지 증폭 결과 예 ]

    이제, 데이터를 준비했으므로, 파일들은 다음과 같이 폴더로 분류해 놓습니다. 전체 100이라면, train에 70%, test에 10%, val에 20%을 할당합니다.

    학습 데이터 라벨링

    BBox Label Tool을 사용해 데이터 라벨링을 수행합니다.
    이 도구를 이용해 각 이미지 별 경계 박스 설정 시 시간은 평균 1~10초 정도 걸리는데요. 한 장당 평균 2~5개의 경계박스를 선택해야 합니다. 실제, 미리 준비한 중장비 이미지 데이터는 446장이었고, 이 데이터는 라벨링에 약 50분 시간이 소요되었습니다. 이 경우, 라벨링 속도는 10장/분이고, 6초당 1장 라벨링 속도입니다. 참고로 이미지 별 클래스 개수와 라벨 난이도에 따라 이 시간은 크게 달라질 수 있습니다!

    [ 중장비 라벨링 과정 ]

    건설 작업자의 경우, 450장 라벨링하는 데, 60분이 소모되었습니다. 이는 7.5장/분 속도로 라벨링한 것인데요. 꽤 많은 수의 데이터임에도 불구하고, 다양한 각도와 거리에서 촬영한 이미지 데이터는 부족한 편입니다.

    [ 작업자 라벨링 과정 ]

    객체 대상에 따라 라벨링 작업 특성이 다를 수 있습니다. 예를 들어, 사람은 장비보다 겹치는 경우가 많은데요. 중장비의 경우 객체 대상을 본체만으로 하는 지, 부착장비까지로 하는 지에 따라 선택 범위가 달라집니다.

    라벨 데이터 형식 변환 및 학습 파라메터 설정

    이제 각 라벨 폴더 별로 라벨링 정보가 저장되어 있는 상태의 라벨 데이터 파일들을 darknet 형식으로 변환합니다.

    사용자 데이터셋 딥러닝 학습

    이제 사용자가 만든 데이터셋으로 YOLO를 학습해봅니다. 이를 위해 클래스와 관련된 부분의 욜로 학습 설정 파일을 수정해야하는데요. 데이터셋 크기가 1,000개 미만일 경우 전이학습(transfer learning) 기법을 사용합니다. 학습 전에 사전 학습된 모델 파일을 사용하면 학습분포가 많아지고, 학습시간도 단축됩니다. 이런 방법을 전이학습기법이라 합니다.

    [ YOLO에서 전이학습에 사용된 Darknet53(Joseph Redmon 외, 2018) ]

    전이학습은 새로운 모델로 학습할 때보다 이미지 분포가 더 크기 때문에 효율적 학습이 가능합니다. 전이학습은 풀고자 하는 문제와 비슷하면서 사이즈가 큰 데이터로 이미 학습이 되어 있는 모델인데요. 일반적으로, 큰 데이터셋으로 모델을 학습하는 것은 오랜 계산 시간과 연산량이 필요하므로, 보통 VGG, Inception, MobileNet 등 이미 잘 학습되어 있는 모델들을 가져와 사용합니다.

    객체 예측모델 학습 결과 객체탐지 정확도 테스트

    이제 학습이 끝났으면 테스트를 해보도록 합니다!

    우선 비교를 위해 기존 yolov3.weight 모델로 예측해보면 좌측처럼 아무것도 인식되지 않지만, 학습된 모델 파일을 이용해 이미지를 예측해 보면 우측 이미지처럼 잘 예측됩니다!

    각 객체의 탐지 정확도는 89%, 87%,78%로 높은 편입니다. 다른 이미지도 인식해 봅니다.

    기존 yolov3.weight 모델로 인식한 결과는 다음과 같은데요. 객체 4개만 인식되고 1개는 오탐되었습니다. 잘 인식되지 않는 부분을 확인하였으니, 이를 보완해 모델을 개선해 봅니다. 개선된 모델을 이용해 객체를 인식하면 더 잘 탐색되는 것을 알 수 있습니다!

    마무리

    지금까지 사용자가 학습 데이터를 준비하고 학습 시켜야 할 때 YOLO에서 어떻게 작업하는 지 전체적인 프로세스를 알려드렸는데요! 기존 YOLO의 학습 모델로는 건설과 같이 특정한 분야에 대한 객체 인식은 제대로 되지 않는 것을 알 수 있었습니다. 이 경우 별도 학습 데이터를 준비해 딥러닝 훈련 시켜야 하죠. 학습 데이터가 부족한 경우, 정확도가 높아지지 않습니다. 이 사례에서는 학습 데이터가 많은 편은 아니지만 객체 인식에 큰 문제가 없는 수준으로 학습 데이터를 구축하고 훈련을 진행해서, 큰 문제 없이 테스트에서 건설 객체들이 학습되는 것을 확인할 수 있었습니다. 학습 데이터가 많아지고, 클래스 수가 높아질수록 데이터 준비 및 학습에 많은 노력과 시간이 들어가겠죠?

    이렇게 학습된 커스텀 모델은 해당 분야 데이터에서만 유효한데요. 이를 고려해 딥러닝에 필요한 데이터셋, 학습모델 등을 활용해야 하겠습니다.
    오늘 공유해드린 내용을 통해 빠르게 객체를 감지하는 알고리즘인 YOLO에 대해 인사이트를 얻어가는 시간이셨기를 바랍니다.

    References

    * YOLO v4 — Superior, Faster & More Accurate Object Detection
    * YOLO darknet github
    * Keras FCN
    * DeepLab for Video
    * YOLO v3 github
    * Custom object training and detection with YOLOv3 (#2)
    * How to train YOLO model
    * Transfer learning from pre-trained models
    * How to implement a YOLO v3 object detector
    * Object Detection with Darknet (#2, #3, #4, #5)
    * YOLO v2, YOLO9000
    * YOLO Darknet v2
    * OpenPose (#2)
    * Google Images Download and Docs (Error solution)
    * Prepare your own data set for image classification in Machine learning Python
    * How to prepare Imagenet dataset for Image Classification
    * Google Cloud, 학습 데이터 준비
    * imgaug with bounding box
    * Learn to Augment Images and Multiple Bounding Boxes for Deep Learning in 4 Steps
    * CNN architecture – VGG, ResNet
    * Xin NieMeifang YangWen LiuWen Liu, 2019, Deep Neural Network-Based Robust Ship Detection Under Different Weather Conditions, IEEE
    * Joseph Redmon, Ali Farhadi, 2018, YOLOv3: An Incremental Improvement
    * Train, Test, Validation dataset

    출처

    daddynkidsmakers님의 블로그 글을 동의 하에 업데이트 하였습니다.
    [ YOLO v3 딥러닝모델 기반 사용자 데이터 라벨링, 훈련 및 객체인식 기술 개발방법 ]

  • 인공지능까지 자동화 하는 기술, AUTOML에 대해 알아보자

    인공지능까지 자동화 하는 기술, AUTOML에 대해 알아보자

    인공지능까지 자동화 하는 기술, AUTOML에 대해 알아보자

    #AutoML

    #하이퍼 파라미터

    #머신러닝 자동화 시스템

    인공지능(AI)은 이제 우리 삶 곳곳에 자리하고 있습니다. 넷플릭스와 유튜브 콘텐츠 추천 기능 역시 인공지능이 사용되고 있죠. 자율주행 차량 또한 운전자의 제어 없이 운행하기 위해 AI 기술이 사용됩니다. 이렇듯 인공지능이 비약적으로 발전할 수 있던 배경에는 머신러닝을 빼놓고 말할 수 없는데요. 인공지능을 구현하기 위해서 컴퓨터 스스로 학습하는 과정인 머신러닝이 필요하기 때문입니다. 이런 추세에 따라, 머신러닝 기술을 활용한 서비스들도 출시 되고 있고 관련 교육도 활발히 일어나고 있습니다. 하지만 여전히 머신러닝 기술을 구사하는 것은 어려운 일입니다.

    일반적으로 머신러닝 모델링은 랜덤 포레스트, 로지스틱 회귀 등의 알고리즘 중 적절한 알고리즘을 선택하는 과정을 거칩니다. 이 과정에서 데이터의 특징에 따라 적합한 모델이 다르기 때문에 여러 모델들로 시도해 보고 성능이 높은 것을 채택하게 됩니다.

    하지만 머신러닝 구축을 위해서는 많은 인력이 필요하며, 도메인 전문 분야에 적용하기에는 진입 장벽이 높습니다. 머신러닝 모델링은 문제 정의 과정에서부터 데이터 수집, 전처리, 모델 학습 및 평가를 거쳐 서비스 적용에 이르기까지 많은 시간이 필요하다는 한계점이 있기 때문입니다. 이러한 가운데, 기존 머신러닝의 한계를 해결해 줄 방법이 큰 주목을 받기 시작했습니다. 바로, 자동화 머신러닝 시스템인 ‘AutoML’입니다.

    AI기술 활용의 열쇠가 되어줄 AutoML

    왜 AutoML가 주목 받을까요? AutoML은 일반적인 머신러닝 모델링 과정인 다양한 알고리즘을 실험하고 비교하여 최상의 모델링을 찾는 과정을 자동화한다는 점 때문입니다. 자동화된 머신러닝은 데이터 전처리, 모델링, 하이퍼 파라미터 튜닝 등 여러 단계의 복잡한 머신러닝 프로세스를 단순화하여 최상의 모델을 식별하고, 최적화된 하이퍼 파라미터를 찾아 좋은 머신 러닝 모델을 구축할 수 있습니다.

    [ AutoML을 활용하면 모델 선택부터 하이퍼파라미터 튜닝까지의 과정을 자동화할 수 있습니다. ]

    여기서 ‘파라미터’란 무엇일까요? 어떤 시스템이나 함수의 성질을 나타내는 변수를 뜻하며, 매개변수라고도 불립니다. 좋은 예측을 하기 위해서 꼭 업데이트가 되어야 하는 변수이죠. 최적의 모델을 구현하기 위해 사용자가 직접 모델에 설정하는 값을 ‘하이퍼 파라미터’라고 합니다. 사용자가 늘 개입해서 하이퍼 파라미터를 모델 학습에 사용하는 게 어렵기 때문에 사람의 개입 없이 하이퍼 파라미터 튜닝을 자동으로 수행할 수 있는 AutoML이 주목받게 된 이유입니다.

    또, AutoML은 인공 신경망 기술을 활용하여 적합한 아키텍처를 찾는 과정을 자동화한다는 장점이 있습니다. 이를 신경망 아키텍처 탐색(Neural Architecture Search; NAS)라고 합니다. 인공지능 연구는 대부분 사람이 각 데이터마다 목적에 맞게 신경망 구조를 디자인합니다. 하지만, 데이터가 바뀌거나 목적이 달라질 때마다 매번 그에 적합한 구조를 찾는 것은 어려운 일이겠죠? 그래서 최적의 구조를 찾는 과정도 AI로 해결하려는 시도가 바로 NAS입니다.

    AutoML을 활용하면 훨씬 직관적으로 간단한 코드만으로도 작업할 수 있습니다. AutoML은 모든 과정을 자동으로 진행하기 때문에 코드 몇 줄만 적어내면, 모든 머신러닝 작업을 간단하게 끝낼 수 있습니다. 기존에 10개의 코드가 필요했다면, 1개의 코드로 자동화할 수 있게 되는 것이죠.

    AutoML이 학습모델을 획득하는 3가지 방법

    AutoML이 좋은 성능의 학습모델을 얻기 위해서는 하이퍼 파라미터를 최적화해야 합니다. 하이퍼 파라미터를 최적화하는 방법은 크게 3가지가 있습니다.

    먼저, ‘그리드 서치(격자 탐색법)’는 하이퍼 파라미터에 넣을 수 있는 값들을 순차적으로 입력한 뒤에 가장 높은 성능을 보이는 하이퍼 파라미터 값을 찾는 탐색 방법인데요. 즉, 관심 있는 매개변수들을 대상으로 가능한 모든 조합을 시도하여 최적의 매개변수를 찾는 방법으로 매개변수를 튜닝하여 성능을 개선해 줍니다.

    ‘랜덤 리서치(랜덤 탐색법)’은 하이퍼 파라미터 값을 랜덤하게 넣어보고 그중 우수한 값을 보인 하이퍼 파라미터를 활용해 모델을 생성하는 방법인데요. 랜덤 리서치는 그리드 서치에 비해 공간 정보를 활용하기 때문에 불필요한 실험을 하지 않아 좀 더 효율적이며 최적의 하이퍼 파라미터 값을 더 빨리 찾을 수 있습니다.

    마지막으로 메타 모델과 베이지안 최적화를 통해 최적의 하이퍼 파라미터 조합을 찾는 튜닝 방법이 있습니다. 메타 모델은 기계 스스로 문제에 적합한 알고리즘을 선택하여 알고리즘을 해당 데이터 분포 구조에 맞게 수정 및 변경하는 방법입니다. 베이지안 최적화는 사전 정보를 탐색 과정에 반영해 효율적으로 최적값을 찾아내는 방법입니다. 그리드 서치와 랜덤 리서치에 비해 효율적인 방법이죠.

    이렇게 AutoML 시스템을 구축하는 과정에서 실무자들은 효과적인 시스템 구축을 위해 여러 고민을 하게 됩니다. 데이터 선택, 모델링 선택 및 최적화 방법, 하이퍼 파라미터 조정 방법 등을 고민하고 해결하는 역량이 이제는 머신러닝 실무자들에게 꼭 필수역량이 되어버렸습니다. 이 역량은 최근 주목받고 있는 AutoML 시스템을 직접 구축하면서 경험을 통해 길러질 수 있습니다.

    AutoML의 학습모델부터 시스템구축까지 배울 수 있는 올인원 강의

    AutoML 시스템을 실제로 구축하면서 발생될 수 있는 문제에 대해 문제해결능력을 기를 수 있도록 도와주는 강의가 있습니다. 바로 [올인원 패키지 : AutoML 시스템 구축으로 익히는 모델 선택 및 하이퍼 파라미터 튜닝]인데요.

    실제로 단계별 AutoML 시스템을 함께 구축해 보면서, 데이터가 주어졌을 때 어떤 전처리 기법을 사용할지, 어떤 모델을 선택할지, 어떤 하이퍼 파라미터를 조정할지 등 발생할 수 있는 문제에 대해 어떤 기준으로 의사결정하는지 배울 수 있습니다. 또한, AutoML의 하이퍼 파라미터를 최적화하는 방법인 그리드 서치, 랜덤 리서치, 메타 모델 및 베이지안 최적화를 활용한 머신러닝 자동화 방법 모두 강의 내에서 학습할 수 있습니다.

    머신러닝 모델 개발 입문자를 위한 과정도 수록되어 있습니다. 초보자를 위해 데이터의 특성을 이해하고 각 데이터 특성에 따른 적절한 전처리 모델을 선택할 수 있도록 기초적인 머신러닝 모델 개발 프로세스부터 차근차근 알려드립니다. 그뿐만 아니라, 파이썬을 이용한 머신러닝 모델 학습, 선형모델, 결정 나무, 앙상블 등 주요 지도 학습 모델에 대해 배울 수 있습니다.

    주요 지도 학습 모델을 배운 뒤엔 머신러닝 자동화를 위한 최적화 알고리즘을 배울 수 있습니다. 최적화 문제부터 그리드 서치와 랜덤 서치, 유전 알고리즘, 베이지란 최적화까지 주요 최적화 알고리즘을 제대로 배우실 수 있습니다.

    이론을 배웠다면 실제로 머신러닝 자동화 시스템을 구축해 보는 것이 좋겠죠? [올인원 패키지 : AutoML 시스템 구축으로 익히는 모델 선택 및 하이퍼 파라미터 튜닝] 강의에서는 함께 AutoML을 처음부터 개발해 보면서 실무 머신러닝에서 모델 선택 및 하이퍼 파라미터 튜닝을 어떻게 하는지 확실하게 정립하고 갈 수 있습니다. 머신러닝 실무자 혹은 머신러닝에 관심 있는 분이라면, 머신러닝에 대한 탄탄한 기초지식과 배경을 갖춰 효율적으로 머신러닝을 구축해 보세요!

끝없이 이어질 인공지능의 이야기
AI:ing에서 당신의 커리어 성장이 시작됩니다.

ALL

IT

AI:ING only

AI Double UP

AI 자격증(AICA)

이벤트