항해99 63

[항해 플러스 AI 후기] 5주차 WIL: RAG를 활용한 LLM 모델 만들기

이번 주에는 LLM을 좀 더 잘 활용하기 위해 instruction-tuning, MLLM, RAG에 대해 학습하였다.특히 RAG는 이전에도 들어본 적이 있지만 잘 알지 못하는 개념이었는데, 굉장히 흥미로웠다. 이외에도 멘토링을 진행하면서 LangChain을 좀 더 공부해보면 좋을 것 같아서 찾아보고 있다.LangChain은 LLM을 잘 활용하기 위한 다양한 기능이 모여있는 라이브러리로, 잘 활용하면 코드를 간결하게 작성할 수 있을 것 같다. 이번 주 심화과제에서는 프로젝트를 본격적으로 시작하기에 앞서 아주 간단한 프로토타입을 만들어보았다.심화과제를 진행하면서 프로젝트에 대해 고민한 내용들도 정리하였다.5주차 학습한 내용1. Instruction-tuningLLM의 텍스트 생성 능력만을 가지고 사용자의 ..

[항해 플러스 AI 후기] 4주차 WIL : Trainer와 GPT 프롬프팅

이번주에는 모델 학습을 쉽게 구현할 수 있게 해주는 HuggingFace library와 GPT를 기반으로 하는 LLM 활용 방법에 대해 학습하였다. 이번주 발제를 시작하기에 앞서, 발제 코치님께서 지난주 멘토링 발제 중 모두에게 공유하면 좋을만한 내용을 다시 한 번 정리해주셨다.(이 중 내 질문도 있어서 혼자 뿌듯했다😆)3주차 멘토링 질의응답 추가 공유epoch를 몇으로 설정해야 할까epoch가 짧으면 모델이 충분히 학습하지 못할 수 있기 때문에, 처음에는 길게 늘려놓는 것이 좋다.wandb나 mlflow와 같은 실험관리 도구를 통해 어느 지점에서 test 성능이 고점을 찍고 하락하는지 파악할 수 있다.지난주, 이번주 과제를 할 때는 early stopping을 추가하고 epoch를 넉넉하게 설정했다..

[항해 플러스 AI 후기] 3주차 WIL : BERT와 GPT

이번주에는 언어 모델인 BERT와 GPT에 대해 학습하였다.과제를 BERT 위주로 진행해서, 아직 GPT는 많이 낯설다. 먼저 이번주에 학습한 내용을 정리하고, 과제를 중심으로 이번 주에 어려웠던 점을 회고하였다.3주차 학습한 내용: LLM 원리와 작동 방식RNN이나 Transformer와 같은 모델들은 train data가 충분하다면 좋은 성능을 발휘하지만, train data는 항상 충분하지 않다.data가 충분하지 않은 상황에서도 test data에서 잘 동작하는 모델을 만들기 위해 Pre-trained Model을 사용한다.1. Transfer learning다른 자연어 처리 문제를 푸는 모델을 활용하여 데이터가 적은 자연어 처리 문제를 해결할 수 있을 거라는 아이디어에서 시작한다.목표로 하는 자..

[항해 플러스 AI 후기] 2주차 WIL : 자연어 처리와 Transformer

이번주에는 자연어를 처리하는 딥러닝 모델에 대해 다루었다.지난주 멘토링 시간에 코치님이 다음주에는 자연어라서 좀 더 재미있을거라고 하셨는데........... 🫠이번주에 새로 배운 개념과 이론은 정말 어려웠다.그렇지만 함께 AI 코스를 듣고있는 동료들과, 학습메이트와, 코치님과 함께 공부하면서 많은 부분을 새롭게 배울 수 있었고, 그런 면에서 정말 재미있는 한 주 였다. ⭐️2주차에 학습한 내용을 정리하고, 스스로 어떤 성장을 했는지 회고해보았다.2주차 학습한 내용: 자연어 처리와 Transformer 모델1. 자연어 처리와 자연어 처리에 필요한 기술인간의 언어로 이루어진 입력을 처리하는 문제이다.감정 분석(주어진 문장이 부정인지 긍정인지), 질의 응답, 기계 번역, 요약 등의 문제를 해결할 수 있다...

[항해 플러스 AI 후기] 1주차 WIL : 딥러닝과 머신러닝의 기본 개념 학습

항해 플러스 AI 3기를 시작하게 되었다.https://hanghae99.spartacodingclub.kr/plus/aiAI 커리큘럼을 보면서 따라갈 수 있을지 고민하다가 결국 마감 직전에 신청하게 되었다. 🤣나에게 AI는 굉장히 낯선 분야이다.매주 학습하면서 배우는 내용들을 정리하기 위해 이 글을 작성한다.항해 플러스 AI 사전과정항해 플러스에서는 온보딩을 위한 사전과정이 준비되어 있다.그런데 합류를 늦게 하는 바람에 사전과정에 참여할 수 있는 시간이 며칠밖에 되지 않았다.항해 플러스 AI 과정을 잘 따라갈 수 있도록 파이썬과 머신러닝, 딥러닝 등 관련 강의들이 사전 제공된다.파이썬은 그래도 조금 사용해봐서 크게 걱정되지는 않았는데 머신러닝과 딥러닝은 완전히 처음 접하는 분야라서 걱정이 많았다.개강..

20220408 개발일지 #최종발표회

드디어 6주 간의 실전프로젝트가 끝났다. 이번 주 내내 발표자료를 만들고, 깃허브 리드미를 수정하면서 프로젝트를 돌아볼 수 있었다. 6주간 팀원들과 이정도의 성과를 낸 것이 뿌듯하기도 하지만, 아쉬운 점도 많다. 기술적으로는 redis와 같이 프로젝트 중반에 망설이던 부분을 초반에 과감하게 도입했으면 어땠을까, 라는 아쉬움이 있고, 테스트코드나 로그, swagger 같은 것들도 초반에 도입했다면 훨씬 더 좋았을 것 같다. 개인적으로 혹은 팀원을 구해서 프로젝트를 하게 된다면, 컨벤션이나 깃헙 등 초반에 정해놓고 갈 부분들은 확실하게 정하고 진행할 것 같다. 개인적으로 공부하고 싶은건 너무너무 많은데, 우선 취업이 우선이라 당분간은 취업준비 + 코딩테스트 준비에 집중할 것 같다. 프로젝트하면서 스스로 클라..

20220402 개발일지 #메인페이지 Polling 부하테스트

프로젝트 진행하면서 멘토링 시간에 개발자는 우리 서비스가 언제 고장이 날지를 알고 있어야 한다는 말을 들은 적이 있다. 그래서 Jmeter도 설치하고, 이것저것 값도 넣어보고, 구글링도 열심히 해봤는데 사실 잘 와닿지는 않았다. 사실 중간발표 때 테스트를 할 때는 목적이 있어야 된다는 말이 더 인상적이었다. 어떤 목적을 가지고, 서비스의 어떤 지점을 개선하기 위한 목적에서 테스트를 하는 지에 따라 테스트 방법도, 시나리오도 달라질 것이다. 그런데 이번에 배포하고 에러를 수정하면서 우리 서비스에서도 부하가 오는 지점이 있다는 것을 알았다. 바로 메인페이지에서 방 정보를 업데이트 하기 위해 1초에 한번씩 api 요청을 보내는 부분이다. 프론트에서 작업하시면서 이전에 걱정된다고 언급하시기도 했었는데, 이번에 ..

20220331 개발일지 #배포!!!!

드디어 배포했다!! 원래 30일에 배포하려고 했는데, 마지막에 테스트하다가 에러를 발견해서 수정 후 31일 새벽 1시쯤에 다시 배포하고 슬렉에 홍보글을 올렸다. 정말정말 놀란게, 새벽임에도 불구하고 엄청나게 많은 분들이 접속해주셨다!!! spring서버는 EC2에서 CPU를 확인했을 때 90%까지 올라갔었고, DB에서 유저 수도 계속 20여명을 유지했다. DB에 유저수는 방을 만들거나 참여한 순간에 생성이 되서 실제 메인페이지에 접속한 수는 구글 애널리틱스를 참고할 때 40명이 넘었던 것 같다(해당 시간 피크가 60명 정도?!) 그리고 오류제보와 만족도 조사도 정말 우르르 들어왔는데 ㅋㅋㅋㅋㅋ 퀴즈를 안풀었는데 스코어가 올라가거나 찬스가 무한으로 사용되는 경우(찬스가 -1이 안되서), 다른 방과 보이스 ..

20220329 개발일지 #실전프로젝트 ReadMe 작성하기

다른 팀원이 GitActions를 진행하면서 우리 백엔드 GitHub의 Setting이 모두에게 보여지지 않는다는 것을 알았다. setting은 해당 Repository를 만든 사람만 접근이 가능하고, Collaborator로 초대된 다른 팀원들은 setting을 변경할 수 없다. 그래서 알아보던 중에 GitHub에 organization 기능이 있다는 것을 알았다!! 전에 이전 기수 깃허브를 보던 중에 팀으로 묶여있는 GitHub를 보면서 어떻게 했지, 궁금했던 기능인데(당시에는 아무리 검색해도 못찾았다!!) 이번에 알게 되었다. organization을 하나 만들고, 거기로 repository를 transfer하면 해당 organization 안에 repo로 등록된다. 그래서 우리 팀을 새로운 org..

20220328 개발일지 #nginx #마케팅 #log

nodeJS 쪽 CI/CD는 내가 진행을 했는데 설정할 게 많지 않아서 반나절 만에 끝났다! 근데 Spring은 다른 팀원 분이 맡고 계셨는데 HTTPS나 properties 관련해서 설정 파일 문제도 있었고, 특히 nginx를 적용하는 과정이 매우 어려워 보였다... 먼저 성공하신 다른 팀원분이 정말 옆에 완전 붙어서 같이 해결해주셔서 실마리를 좀 찾은 것 같다. 정말정말 너무 감사하다!!! 다행히 주말 사이에 nginx까지 성공하셔서 행복한 월요일을 맞이했다(그런줄 알았다...ㅜㅜ) 지난 주에 spring쪽에 로그를 설정하고, EC2에 배포한 상태에서도 로그 파일이 잘 저장되는 것을 확인했는데, nginx로 돌리고 나서부터는 로그 파일이 저장되지 않았다. 찾아보니 nginx 에서도 PM2처럼 로그파일..