태그 보관물: OpenAI

GPT-3.5 미세 튜닝 서비스가 론칭되었습니다.

OpenAI에서 GPT-3.5 터보 모델을 자신의 데이터로 미세 튜닝(fine-tuning)할 수 있는 서비스를 론칭했습니다. 회사에서 가지고 있는 데이터를 사용해 GPT-3.5 터보 모델을 미세 튜닝하면 특정 작업에서 GPT-4에 필적하는 성능을 낼 수 있다고 하네요. 이렇게 미세 튜닝된 모델은 OpenAI API를 사용해 사용할 수 있으므로 스케일 확장과 운영 노하우에 대해 추가로 고민할 필요가 없습니다. 미세 튜닝과 API 서비스 가격은 아래와 같습니다.

  • 훈련: $0.008 / 1K Tokens
  • 입력: $0.012 / 1K Tokens
  • 출력: $0.016 / 1K Tokens

“챗GPT로 대화하는 기술”이 출간되었습니다!

챗GPT와 인공지능 기술에 대해 알려 주는 <챗GPT로 대화하는 기술>이 출간되었습니다!

챗GPT 프롬프트는 물론 머신러닝과 딥러닝부터 어텐션과 트랜스포머까지 최신 기술을 이해하기 쉬운 비유와 재미있는 그림으로 친절하게 설명합니다. 또 오토인코더부터 디퓨전까지 이미지 생성 모델의 기술도 소개합니다. 누구나 이 책을 통해 챗GPT와 생성 AI 이면에 있는 기술을 이해할 수 있을 거에요! 🙂

바로 지금 온라인/오프라인 서점에서 판매 중입니다! [교보문고] [Yes24[알라딘] [한빛미디어]

카카오톡 오픈채팅(https://bit.ly/chatgpt-book)에 오셔서 챗GPT와 인공지능에 대해 궁금한 점을 물어 보고 최신 소식을 함께 나눌 수 있습니다!

Spinning Up in Deep RL

OpenAI에서 강화 학습 교육 자료인 스피닝 업(Spinning Up)을 공개했습니다. 깃허브에서 관련 코드도 같이 제공됩니다. 아래 알고리즘 트리 중에서 스피닝 업에서 다루는 것은 Policy Gradient, PPO, TRPO, DDPG, TD3, SAC입니다.

rl_alg.tree.png

OpenAI에서 스피닝 업을 만들게 된 이유가 강화 학습을 배우기 위한 적절한 자료가 없기 때문이라고 합니다. 곰곰히 생각해 보면 일리가 있습니다. 딥러닝 관련되어서는 좋은 책과 온라인 자료를 쉽게 찾을 수 있지만 강화 학습은 많이 부족합니다. <핸즈온 머신러닝> 16장에서 강화 학습을 다루고 있지만 제한된 범위입니다. 서튼(Sutton) 교수의 <Reinforcement Learning: An Introduction> 2판이 곧 출간될 예정입니다. 이 책은 강화 학습의 대표적인 텍스트 북입니다. 조금 더 핸즈온 스타일의 강화 학습 책으로는 어떤 것이 있는지 찾아 보았습니다.

71y3a2bdjf3l  zai-drl-meap-hi  morales_drl_hiresmeap

맥심 라판(Maxim Lapan)이 쓴 팩킷(Packt)의 <Deep Reinforcement Learning Hands-On>이 아마존에서 독자 반응이 좋습니다. 이 책은 DQN, Policy Gradient, A2C, A3C, TRPO, PPO, I2A, AlphaGo Zero 등을 다룹니다.

매닝에서는 <Deep Reinforcement Learning In Action>과 <Grokking Deep Reinforcement Learning>이 준비되고 있습니다. 매닝 책은 출간되려면 아직 한참 기다려야 할 것 같네요. 재미있게도 이 세 책은 모두 파이토치를 사용합니다. 🙂

Sentiment Neuron

image03-1

OpenAI에서 한 RNN 연구에 관해 블로그 포스팅페이퍼 그리고 코드(텐서플로우)를 공개했습니다. 내용을 간단히 요약하면 4,096 개의 multiplicative LSTM 뉴런으로 8천 2백만개의 아마존 리뷰에 대해 다음 문자(character)를 예측하도록 학습시켰습니다. 그런다음 Stanford Sentiment Treebank 데이터셋으로 이 뉴런들의 가중치 합에 대해 학습시켰습니다. 종전의 다른 모델과 비교해서 적은 수의 샘플로도 감성 분석에 대해 높은 성능을 내었다고 합니다.

그런데 이 뉴런 중 한개가 뉴런이 양성과 음성적인 리뷰를 구분하는 데 결정적인 역할을 하고 있다는 것을 발견했습니다. 다른 RNN 모델처럼 이 네트워크를 이용하여 리뷰 텍스트를 만들어 낼 수 있는데 이 감성 뉴런의 값을 덮어쓰면 양성 리뷰, 음성 리뷰를 선택해서 만들 수 있습니다. 아마존 리뷰를 이용해서 다음 문자에 대해서 학습을 시킨 것인데 감성 분석에 뛰어난 뉴런이 만들어진 것이 흥미롭습니다. 블로그에서도 언급되었지만 레이블 데이터를 만드는 물리적인 한계를 이런 비지도 학습의 연구가 도움을 줄 수 있을 것 같습니다.

잘 알려진 알렉 래드포드Alec Radford와 일리아 서스키버Ilya Sutskever가 페이퍼의 저자인데 커뮤니티의 반응은 썩 좋지는 않은 것 같습니다. 블로그 글이 약파는 느낌이라던가 Character RNN에 대해 잘 알려진 글을 쓴 안드레이 카패시Andrea Karpathy가 왜 저자로 안들어 갔는지 등등 말이 많네요. 🙂

MS Ventures fund Element AI

마이크로소프트가 새로운 벤처 펀드를 운영한다고 발표하였습니다. 특히 이 펀드는 인공지능 분야에 집중될 것으로 알려졌습니다. 첫번째 펀드는 요수아 벤지오(Yoshua Bengio) 교수의 엘리먼트 AI(Element AI) 입니다. 정확한 금액을 알려지지 않았지만 지난달 구글이 엘리먼트 AI에 3백만 US달러 이상을 투자하기로 하였으므로 그에 버금가는 금액이 될 것으로 예상됩니다. 엘리먼트 AI는 수천만달러까지 펀딩을 계속 받을 예정이라고 합니다. 마이크로소프트가 OpenAI 와도 제휴하고 엘리먼트 AI에 투자까지 인공지능 분야에서 계속 잰걸음을 하는 것 같습니다. 마이크로소프트 벤처는 엘리먼트 AI 뿐만 아니라 계속 인공지능 벤처에 투자를 이어갈 예정이라고 합니다.

Universe: Measurement and training for AI

universe

얼마전에 소개해 드렸던 OpenAI 의 AI 벤치마킹 프레임워크 Universe 가 오늘 공식 런칭했습니다. Universe 는 어떤 프로그램도 Gym 환경으로 변환시킬 수 있도록 해 주며 VNC 리모트 클라이언트를 통해 도커 서버에 키보드와 마우스 이벤트를 전달하고  AI 에이전트에는 화면의 픽셀과 리워드를 돌려 줍니다. 이런 과정을 아래 그림으로 간단하게 잘 표현하고 있습니다.

interface-725abed463ba2b83d4a68fd08d1818fed900a939cb9c4b9eb1bac07952b4fe61

오늘 런칭을 하면서 플래시 게임, 브라우저 작업, PC 게임 등을 포함한 천여개의 환경을 준비했고 앞으로 수만개로 늘릴 예정입니다. 이미 EA, 마이크로소프트 등의 많은 회사들과 게임 사용을 위한 허락을 받았다고 합니다. 특별히 플래시 게임의 리워드를 위해서 화면의 점수를 읽기 위한 콘볼루션 뉴럴 네트워크를 도커 머신에서 돌리고 있다고 합니다. 그리고 자신의 어플리케이션을 Gym 환경으로 변환하는 툴도 곧 공개할 예정입니다.

알파고를 비롯해 이미지 인식, 번역 등 아직까지는 특정 작업에 촛점을 맞춘 AI 들이 연구되고 있습니다. OpenAI 는 Universe 를 통해 보다 일반적인 지능(General Intelligence)으로 확대하려는 의지를 나타내고 있습니다. 여러 게임을 하면서 학습한 AI 가 새로운 게임에도 금방 적응을 한다거나 컴퓨터 화면의 알람을 클릭해 열어서 나에게 알려주고 이메일을 읽고 필요에 따라 분류 하는 등 사람이 화면을 보고 처리하는 그대로 AI 도 할 수 있을까요.

Universe 관련 페이퍼도 많이 나올 것 같습니다. 또 구글이나 페이스북 등은 또 어떤 카드를 준비할지 궁금합니다. 더 자세한 내용은 OpenAI 의 블로그깃허브, 와이어드 기사를 참고하세요.

OpenAI Universe

OpenAI 의 Gym(https://github.com/openai/gym) 은 강화학습을 연구를 위한 툴킷으로 여러 환경(environment)을 제공하고 있습니다. OpenAI Universe 는 거기에 한걸음 더 나아가 모든 게임, 웹사이트, 어플리케이션을 위한 AI 벤치마킹을 목표로 개발되고 있습니다. 이번주 초에 Universe 베타 테스터를 모집한다는 소식에 참여를 해보았습니다. 아직 깃허브는 일반에게 공개되지 않았지만 베타 테스팅이 끝나는 1~2개월내에 정식 런칭할 것으로 예상됩니다.

Universe 는 Gym 위에 만들어진 라이브러리로 일반 게임의 내부를 건드리지 않고 강화학습의 환경을 만들기 위해서 클라우드의 VNC 서버와 통신을 하면서 게임의 픽셀(768x1024x3)과 리워드, 액션 등을 전달해 주는 역할을 합니다. AI 에이전트는 키보드와 마우스 이벤트를 Gym 을 통해 Universe 환경으로 이벤트를 전달합니다. 클라우드에는 도커 머신이 헤드리스(headless) 크롬 브라우저에서 플래시 게임을 실행합니다. 현재는 테스트 기간이라 한 사람당 32개의 환경을 동시에 실행시킬 수 있지만 정식 런칭이 되면 유저당 환경의 갯수를 제한할 것으로 보입니다.

아래는 베타 테스트로 제공하는 샘플 게임으로 무식하게 제가 전진만 시킨 VNC 영상을 캡쳐했습니다.

아직 도큐멘트가 준비되지 않아 자세한 내용을 파악하는 게 쉽지는 않은 것 같습니다. 새로운 내용이 확인되는대로 업데이트 하겠습니다. 혹 베타 테스트에 참여하고 싶으신 분은 OpenAI 의 그렉 브록맨(Greg Brockman)에게 자신의 깃허브 아이디(username)와 함께 메일(gdb@openai.com)을 보내시면 됩니다.

GAN & PixelCNN

뉴럴 네트워크를 사용해 이미지를 생성해 내는 몇가지 방법 중 최근 GAN(Generative Adversarial Networks)와 PixelCNN 에 관한 새로운 페이퍼와 코드가 공개되어서 소개해 드립니다.

GAN 에 관련된 페이퍼로는 이안 굿펠로우(Ian Goodfellow), 요수아 벤지오(Yoshua Bengio) 교수 등이 쓴 Generative Adversarial Networks와 인디코, 페이스북의 서미스 친탈라(Soumith Chintala) 가 쓴 Unsupervised representation learning with deep convolutional generative adversarial networks 등을 시작으로 여러편이 나왔던 것 같습니다. 최근에 버클리 대학의 AI 리서치랩(BAIR)에서 GAN 을 사용하여 이미지 대 이미지 변환을 만드는 pix2pix 의 페이퍼와 토치 코드를 공개하였습니다. 이 코드의 텐서플로우 버전이 나올지 기대됩니다.

pix2pix

출처: pix2pix 페이퍼

PixelCNN 은 딥마인드 팀이 내 놓은 Pixel Recurrent Neural Networks 와 역시 딥마인드 팀이 작성한 Conditional Image Generation with PixelCNN Decoders 가 있습니다. PixelRNN 과 PixelCNN 에 대한 텐서플로우 구현은 김태훈님의 pixel-rnn-tensorflow 레파지토리가 잘 알려져 있습니다. OpenAI 의 안드레이 카패시(Andrej Karpathy) 등이 최근에 PixelCNN 을 보완한 PixelCNN++ 의 페이퍼와 텐서플로우 코드를 공개하였습니다. 이 페이퍼는 ICLR 2017 에 등록되어 있습니다. PixelCNN++ 에 대해 좀 더 자세한 내용이 확인되면 다시 포스팅하겠습니다.

OpenAI + Microsoft

OpenAI 가 딥러닝을 위한 플랫폼으로 마이크로소프트의 Azure 를 사용하기로 협약했다는 발표가 OpenAI 블로그마이크로소프트의 블로그에 각각 실렸습니다. OpenAI 는 그 동안 시라스케일(Cirrascale)을 사용하고 있는 것으로 알려졌었는데요. 아마존이 AWS 에 새로운 GPU 인스턴스를 출시했음에도 불구하고 동일한 K80 GPU 를 쓰고 있는 Azure 를 택한 것은 다소 의외인 것 같습니다. 마이크로소프트가 뭔가 파격적인 제안을 했을까요?

OpenAI 블로그에 따르면 Azure 에서 수천에서 수만대 까지 인스턴스를 사용할 것 같다고 합니다. 마이크로소프트가 이번 계기로 자사의 딥러닝 툴킷 CNTK 의 저변을 넓히는 데 힘을 얻을 수 있을까요. 깃허브의 딥러닝 인기도 조사(?)를 하고 있는 프랑소와 숄레(François Chollet)의 최근 트윗을 보면 바이두의 패들패들이 CNTK 보다 조금 더 활발히 움직이고 있는 것으로 보입니다.

cxutsrnucaebsg4

OpenAI cleverhans training with adversarial examples

logo

OpenAI의 이안 굿펠로우(Ian Goodfellow)가 에러가 포함된 데이터(adversarial example)를 사용하여 모델을 더욱 견고하게 만들어 줄 수 있는 프레임워크 cleverhans를 오픈소스로 공개하였습니다. cleverhans는 파이썬2를 기반으로 하고 있으며 케라스(Keras)와 텐서플로우를 사용합니다. 아직 개발 초기 단계라 딱히 설치 방법을 제공하고 있지 않고 레파지토리를 클론해서 소스가 들어있는 cleverhans 디렉토리를 임포트해서 사용하면 됩니다. 현재는 MNIST 데이터를 사용한 예제만 제공되는 데 앞으로 튜토리얼이 더 추가될 수 있을 것 같습니다.

이 라이브러리는 현재 FGSM(Fast Gradient Sign Method) 방식으로 에러가 포함된 데이터(adversarial example)를 생성해 냅니다. 그리고는 이 데이터를 사용하여 모델을 다시 학습시키도록 하고 있습니다.

# Craft adversarial examples using Fast Gradient Sign Method (FGSM)
...
adv_x_2 = fgsm(x, predictions_2, eps=0.3
predictions_2_adv = model_2(adv_x_2)

# Perform adversarial training
tf_model_train(sess, x, y, predictions_2, X_train, Y_train, predictions_adv=predictions_2_adv)

처음 모델의 정확도는 약 95.9% 였지만 에러가 들어 있는 데이터에 대해서는 불과 3.5% 밖에 되지 않았습니다. 하지만 에러가 들어있는 데이터를 이용해 두번째 모델을 만들어 손실 함수(loss function)를 보정하여 학습을 시킵니다. 이로 인해 테스트 데이터의 정확도는 95.1%로 조금 낮아졌지만 에러가 있는 데이터에 대한 정확도는 56.2%로 크게 성장한 것을 확인할 수 있습니다.

Test accuracy on legitimate test examples: 0.9589203125
Test accuracy on adversarial examples: 0.03577734375
...
Test accuracy on legitimate test examples: 0.951059375
Test accuracy on adversarial examples: 0.5620109375

텐서플로우 0.10.0 + 케라스 1.1.0 에서 테스트하였습니다.