일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- Tableu
- 문맥을 반영한 토픽모델링
- Optimizer
- LDA
- 코사인 유사도
- 토픽 모델링
- 피파온라인 API
- 개체명 인식
- 자연어 모델
- 포아송분포
- NLP
- Roberta
- 원신
- KeyBert
- 트위치
- 데이터넥스트레벨챌린지
- 데벨챌
- 옵티마이저
- SBERT
- 구글 스토어 리뷰
- 다항분포
- 클래스 분류
- geocoding
- 붕괴 스타레일
- 데이터리안
- CTM
- 블루아카이브 토픽모델링
- 조축회
- 블루 아카이브
- BERTopic
- Today
- Total
목록전체 글 (108)
분석하고싶은코코

취업하고 업무 적응하느라 정신이 없어서 대회나 서브프로젝트에 대한 포스팅을 못하고 있었는데 좀 여유가 생겨서 다시 포스팅을 시작해보려 합니다~! 오늘은 대용량 데이터를 다루는 법에 대해서 다뤄보겠습니다. 데이터 분석을 적은 데이터로 할 경우도 있지만 대용량의 고객데이터를 통해 분석을 진행할 경우가 생깁니다. csv, json 저장된 수백, 수천만개의 고객 로그 데이터를 분석을 해본적이 없기 때문에 어떻게 접근해야하는지 막막했습니다. 그래서 찾아보게된게. parquet입니다. cuDF라는 것도 있지만 이 기능은 NIVIDA GPU가 장착된 환경에서만 사용할 수 있습니다. 그저 갓비디아.... 맥 유저는 웁니다... cuDF는 추후에 다뤄보겠습니다. 여하튼 오늘 다룰 데이터는 케글에 공개되어 있는 상품 추..

이번 포스팅에서는 로컬서버에서 LLM을 Flask를 활용해서 API형태로 만들고 이를 Docker 컨테이너로 만드는 과정에 대해서 포스팅합니다. LLM 커스텀 LLM이 아닌 기본 LLM을 사용합니다. 일반적으로 LLM을 불러오는 과정과 동일합니다. # app.py from transformers import GPT2LMHeadModel, GPT2Tokenizer model_name = "gpt2" # 예시는 GPT-2, 필요시 수정 할 부분 model = GPT2LMHeadModel.from_pretrained(model_name) tokenizer = GPT2Tokenizer.from_pretrained(model_name) Flask endPoint는 predict 부분입니다. 로컬에서 API형태로 ..

이번 포스팅에서는 온라인 게임 데이터로 어뷰저를 탐지하는 방법에 대해서 이야기해보겠습니다. 사용된 데이터는 가상의 데이로 실제 게임 데이터는 아닙니다! 글에서 세세한 정보 모두를 다루지는 않고 간단하게만 다뤄보겠습니다. 순서는 EDA -> Modeling순서로 해보겠습니다. EDA 각 피처들은 가상의 피처들이고 정확히 어떤 정보인지는 모르지만 어떤 종류의 데이터인지 정도만으로 진행하였습니다. 또한, 모든 피처를 다루지 않고 과정중 확인해본 주요 피처들에 대해서만 다루겠습니다. 이번에 사용될 데이터는 총 104,399개의 데이터로 다음과 같은 정보들을 갖고 있습니다. 캐릭터에 대한 정보와 캐릭터가 상호작용한 여러 정보들을 갖고 있는 데이터입니다. 해당 데이터 값들은 정규화가 되지 않고 각자 단위값들로 기록..

오늘 포스팅할 주제는 머신러닝, 딥러닝 모델에서 필수적인 존재인 옵티마이저(Optimizer)에 대해서 이야기해보겠습니다. 옵티마이저를 한 문장으로 이야기 하자면 다음과 같습니다. '목적지까지 가는 길을 최적화 해주는 방법(알고리즘)이다.' 정말 간단한 예시로 아래와 같은 상황에서 출발지에서 맛집을 찾아가는 과정으로 예를 들어보겠습니다. 저희는 전지적 시점이기에 그냥 오른쪽으로 쭉 가면 되잖아? 라고 하지만 그렇지 않고 맛집이 존재하는 것에 대해서는 알고 있지만 맛집이 어디에 있는지는 모르는 상황에서 찾아가는 것입니다. 그렇다면 우리는 출발지에서 오른쪽만 가는게 아니라 아래쪽으로도 가보는 선택을 하고 맛집까지 도착하는 경험을 하게 됩니다. 그렇게 모든 갈 수 있는 모든 길을 탐색하고나서 '아, 출발지에서..

오늘 포스팅할 내용은 YOLO입니다. YOLO는 이미지 혹은 이미지들로 이뤄진 비디오에서 물체를 탐지에 있어서 SOTA모듈입니다. Python에는 OpenCV가 유명하긴하지만 물체에 대한 트랙킹을 진행할때 비디오 내에서 물체가 사라졌다가 다시 등장했을 경우 별도의 지정없이 트랙킹 하는 것이 어렵습니다. 물체를 다시 감지하기 위한 코드를 작성해야하는데 여간 쉬운일이 아닙니다. 그래서 자동으로 다시 트랙킹 해줄 수 있는 방법을 찾다가 발견한 것이 YOLOv8입니다. YOLO에서 제공해주는 기본 모델은 아주 기본적인 트랙킹 데이터를 갖고 있지만 결국은 사용자가 원하는 물체에 대한 트랙킹을 해주지는 못합니다. 이게 무슨 말이냐면 기본적인 사람, 물체와 같은 트랙킹은 기본 모델에서 학습이 되어 있기 때문에 가능하..
RLHF를 활용한 던전앤파이터 챗봇 만들기 프로젝트를 진행하였습니다. 사실 HF가 아닌 랜덤성이긴 하지만 비슷한 형태로 진행되기는 했습니다...ㅎ 여튼 이번 프로젝트에서 느낀점은 HF... RM을 위한 데이터 구성, 결국은 훈련시킬 데이터가 중요하다라는 것을 느낄 수 있었습니다. 느낀점은 후기에서 좀 더 작성하고 진행한 프로젝트에 대해서 이야기를 시작해보겠습니다. 지난번 포스팅에서 데이터 수집을 진행하였습니다. 완벽하게 던전앤파이터에 대한 데이터를 학습할 정도는 아니지만 던전앤파이터 세계관에 대해 이야기할 수 있는 Chatbot을 만들기에는 충분한 데이터가 수집되어 훈련을 진행하였습니다. 던전앤파이터 공식 홈페이지와 루리웹, 나무위키의 메인스토리 텍스트 데이터를 사용하였습니다. 포스팅에서는 SFT, RM..
이번 포스팅에는 NLP분야에서 PPO 알고리즘을 구현하기 위한 TRL패키지에 대한 이야기와 이전에 포스팅했던 ColossalAI에서 제공하는 패키지의 다른점들들 몇가지에 대해서 기록합니다. 현재 던전앤파이터의 세계관에 대해서 이야기할 수 있는 챗봇을 만드는 작업을 진행하고 있습니다. 지난번 RLHF에 대한 이야기를 하면서 작성했던 코드들은 모두 ColossalAI에서 제공하는 패키지로 KoGPT모델을 통한 훈련을 진행하였습니다. 그런데 해당 실습을 하면서 문제점은 작은 모델이여서 생각만큼 원하는 결과가 나오지 않는다는 것이었고, 두번째로 사용하는 패키지가 최근 버전과는 맞지 않아서 강제로 다운그레이드를 해서 진행을 해야하는 번거로움이 존재했습니다. 그래서 던파 챗봇 프로젝트에서는 해당 패키지를 사용하지 ..

지난번 포스팅에서는 LoRA에 대한 포스팅을 진행했습니다. LoRA가 등장하게 된 배경은 LLM모델의 크기가 시간이 지날수록 커지고 있어 finetuning과정에서 모든 파라미터들을 학습시키기에는 컴퓨팅 자원에 대한 부담이 커진다라는 것이였습니다. LoRA를 통해 속도와 메모리에 대한 부담을 줄일 수 있는것은 사실이였지만 중요한건 LoRA에서도 원래의 모델에 대한 가중치를 사용한다는 것입니다.(자세한 내용은 지난 포스팅을 참고해주세요) 예를들어서 GPT-3를 finetuning하는 과정을 생각해보겠습니다. 150B의 파라미터를 갖고 있습니다. 이 모델 자체를 일반적인 GPU에 올리기란 쉽지 않습니다. 순수하게 fully finetuning을 진행한다고 하면 A100 80G GPU가 약 70개가 되는 자원..