Giter VIP home page Giter VIP logo

dialobot's Introduction

Who is Kevin Ko?

Twitter Facebook Instagram Linkedin Youtube

Currently, I am a ...

In the past, I was a ...

  • (2022.02 ~ 2023.09) Lead ML Scientist at EleutherAI.
  • (2021.03 ~ 2023.05) ML Engineer and Co-Founder at TUNiB.
  • (2021.03 ~ 2021.12) Host of Jiphyeonjeon paper review group.
  • (2020.08 ~ 2021.03) ML Engineer at Kakao Brain.

For more details, please refer to here.

dialobot's People

Contributors

aiaaua avatar fightnyy avatar gityunjae avatar hyunwoongko avatar jayden5744 avatar sangdee avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

dialobot's Issues

streamlit 개발

streamlit을 이용해서 프론트엔드 페이지를 개발한다.

paraphrase 구현

generate 함수를 사용하여 paraphrase generation 을 구현합니다.

논의해볼 사항 (multilingual, lightweighting)

1. Multilingual framework

  • 우리가 제안하는 모델링 방식이 딱히 language specific 하지는 않다. 따라서 multilingual 버전으로 만들면 외국인들도 사용할 수 있기 때문에 더 범용성 높은 프레임워크로 성장 할 수 있다.
  • 모델은 multilingual 모델을 사용하면 되는데, NLU 모델은 multilingual-DistilBERT를 사용하고 NLG 모델은 mBART를 사용하면 된다.
  • 논의해볼 사항은 언어를 몇가지나 지원해야하는지에 대한 내용인데, 너무 많은 언어를 지원하게 되면 그에 따라 Paraphrase generation이나 Slot2response 데이터셋도 여러 언어로 만들어서 실험 해봐야 하기 때문에 4~5 가지의 언어만 선택해서 지원하도록 하는 것이 바람직해보인다.
  • UI/UX는 우선 한국어/영어 버전으로만 만들고 그 이외의 언어는 누군가 contribution 해주지 않을까...? ㅎㅎ
  • 만약 multilingual 프로젝트로 가게 된다면 koslot 프로젝트는 어떻게 해야할지도 논의 해보면 좋을 듯 싶다. (한국어 특화 프로젝트가 아니기 때문에 이 프로젝트를 시작할지 말지 논의 해봐야 함)

2. Lightweighting

  • 우리의 프레임워크는 사용자의 컴퓨터에서 파인튜닝 되도록 하는 방식을 채택하고 있다. 그러나 이 방식을 사용하면 사용자의 컴퓨터가 매우 좋아야 하고 속도가 굉장히 느릴 것이기 때문에 범용성이 떨어진다. ("권장사양 : V100-16GB"와 같은 느낌일 수도...) 따라서 다양한 경량화 기법을 적용해서 권장사양을 최대한 낮춰보면 어떨까? (Fastformers에서 사용했던 내용들을 참고해보면 좋을 듯 싶다.)

2.1. Distillation

  • BERT는 Distil 버전이 있어서 상관 없지만 mBART는 Distil된 체크포인트가 없다. (여기서 체크포인트가 없다는건 CC25의 distil 버전이 없다는 것. sshleifer가 CNN/DM이나 XSum 등에 Distillation 해놓은 버전만 있다.)
  • 따라서 우리가 직접 Distilation을 해보는 건 어떨까? 물론 당연히 우리도 CC25에 Distil 할 수는 없고, 특정 태스크에 대해 Distil 해야 할 것이다. (sshleifer의 리포트를 참고하여 실험해보면 좋을 듯)
  • 모델이 굉장히 많이 나올 것 같은데, 이 참에 dialobot 허깅페이스 계정 하나 파자!

2.2. Pruning

  • 지원 언어의 수를 조정하게 된다면 언어별 Pruning을 진행해서 모델의 임베딩 레이어를 잘라낼 수 있다. 이는 매우 큰 경량화 효과를 가져온다. 따라서 지원언어를 조정하는 방법을 사용해보자. (언어별 Vocab, SPM, Embedding 프루닝을 각각 진행하면 된다. 크게 어려운 작업은 아님.)
  • Structured Pruning을 해보는 것도 좋은 선택. 몇몇 논문에서 다양한 방식의 Structured Pruning에 대한 실험을 진행했다. 따라서 이러한 논문을 참고해서 모델 크기를 더 줄여볼 수도 있다.

2.3. Quantization

  • 마찬가지로 몇몇 논문 에서 BERT를 Quantization 해보는 것에 대한 많은 실험을 진행했었다. 이런 방법을 도입하여 모델을 더 작고 가볍게 만들 수 있다.

2.4. Graph Optimization

  • ONNX : ONNX를 사용해서 모델을 컨버팅하면 Network Graph 단에서의 Optimization이 가능하다. 그러나 우리가 사용하려는 모델에 지원되지 않는 operation이 있는지 잘 살펴봐야 할 필요가 있다.
  • Fastseq : 진짜 좋은 라이브러리. 이번에 도입해서 사용해보면 어떨까 싶다.

3. Configuration 관리

  • 요즘 ML/DL 분야에서 Configuration 관리 도구로 Hydra가 급 부상하고 있다. 우리도 Hydra를 공부해서 사용해보자. Kospeech에 얼마 전에 적용된 사례도 있다. 참고해보면 좋을 듯.

Intent 성능평가

  1. ATIS Dataset, SNIPS Dataset 라벨 수정
  2. 데이터 개수에 따른 평가
  • (라벨 개수, 50, 100, 200, 500, 1000, 전체)
  1. intent 40개 이상일 때 에러 해결

slot2generation 데이터 조사

table to text generation 데이터셋을 사용하면 좋을 것 같은데요.
영어는 많이 있을텐데, 한국어나 중국어, 일본어 데이터는 조사를 해봐야 할 듯 하네요.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.