목록AI (14)
isPowerfulBlog
다양하고 유의미한 문제를 생성하기 위해 문서에서 중요한 키워드를 추출해야 했다.키워드 추출이라 하면... 아래와 같은 방식들이 떠오를 수 있다.TF로 가장 많이 등장하는 키워드 추출하기TF-IDF 문서 전체에서의 비중은 적으나 특정 문서에서 많이 등장하는 키워드를 추출하기NER(Named Entity Recognition) 모델을 사용해서 개체 인식하기GPT(LLM)한테 중요한 키워드 뽑아달라고 하기GPT랑 TF-IDF 어떻게 엮어보기하지만 주어진 현재 상황은 이렇다.문서의 언어가 정해져있지 않다. (주로 영어/한글 이겠지만)문서의 양이 크다. (강의안을 문서로 넣는다고 생각해야한다)모든 문서가 특정 도메인에 특화되어있지 않다. (일반화가 잘 된 방식을 사용해야한다.)아니 문서가 특정 도메인에 너무 특화..
문제 정의 퀴즈 생성 시 input으로 들어오는 pdf 파일들을 모두 영구적으로 s3에 저장하는 것은 저장비용 부담이 크다. 따라서 파일 내용 요약을 포함한 생성 날짜, 생성자 등등 메타정보를 저장하는 것이 낫다. 퀴즈를 생성한 사람을 제외하고는 어떤 내용의 파일로 퀴즈가 생성되었는지 알 수 없다. 생성자가 직접 설명을 적어줄 수 있긴 하지만 보통의 유저들은 귀찮으니 null값으로 두는 경우가 많을 것이다. 위와 같은 이유로 자동으로 생성된 파일 내용 요약이 필요해졌다. 문서 요약 방식 LLM으로 문서를 요약하는 방식은 크게 세 가지로 나뉘어질 수 있다. Stuff - 한 번에 요약하기 Map Reduce - 작게 쪼갠 문서들을 각각 요약하고, 병합하여 다시 한 번 요약하기 (병렬) Refine - 작게..
LLM으로 문서 요약이 가능하다. 어떤 모델이냐에 따라서 다르지만, 모든 LLM은 input token 수에 제한이 있다. 그리고 보통 문서는 그 input token 수 제한을 뛰어넘기 마련이다ㅠㅠ... 따라서 LLM을 이용해 문서를 요약하기 위해서는 문서를 작은 chunk 단위로 쪼개는 작업을 먼서 해야한다. 문서를 chunk 단위로 쪼갠다는게 정확하게 뭘까? - Text Split ㄴ 랭체인 공식 트위터에서 퍼왔다 먼저 Documents란, pdf, text, pptx, html 등 다양한 형태의 문서를 말할 수 있겠지만, text split에서 말하는 Documents는 기본적으로 텍스트로 파싱되어있는 형태의 문서를 가정한다. text여야 text split이 가능하니까..? \ 문서라 함은 정말..
소프트웨어융합최신기술 수업에서 LangChain을 접하게 되어 접한 김에 정리를 해놔야겠다. 알아놓으면 너무너무 유용할 것 같은 랭체인. 실습 정도에는 돈 별로 안 들어서 해볼만 하다. LangChain https://github.com/langchain-ai/langchain LLM을 사용하여 애플리케이션을 만드는 것을 단순화해주는 프레임워크. 각기 다른 태스크를 가진 LLM을 Chain처럼 연결지어 하나의 복잡한 태스크를 수행할 수 있도록 할 수 있고, 이 과정을 간편하게 할 수 있는 아주 강력한 도구이다.🔥🔥 복잡한 태스크를 여러개의 작은 태스크로 쪼개어 하는 방식을 LLM에서도 쉽고 간편하게 적용할 수 있다는 점이 굉장히 매력적인 것 같다. Environment setup Install $ pip..
GitHub - BOAZ 18기 분석 그리고 엔지 병행으로 1년간 활동하면서 진짜진짜 새로운 걸 많이 해보고 주변 사람들 통해서 너무 많이 배운 것 같다. 이건 분석 컨퍼런스 프로젝트! (엔지도 조만간 올려야지!) ✅ 프로젝트 상세 프로젝트 기간 22년 8월 - 23년 1월 말이 5-6개월이지 주제선정, 스터디, 시행착오에3-4개월은 썼기 때문에 진짜 프로젝트에 과정에 포함된 시간은 2달 정도라고 봐야겠다. 프로젝트 주제 Anti-aginGAN for CAT based StyleGAN2 고양이의 어린 시절을 보여주는 프로젝트 사용 모델 StyleGAN2 - TensorFlow StyleGAN2 ADA - TensorFlow 환경 Google Colab, pro 깃허브 GitHub 컨퍼런스 영상 YouTu..
먼지 쌓인 콘다 정리하기 콘다 버전 4.10.x 였었다.. ㄴㅇㄱ latest가 22.x.x 이던데... Conda 버전 버전 확인 $ conda --version conda 업데이트 $ conda update conda 가상환경 관리 가상환경 리스트 $ conda env list 가상환경 삭제 $ conda remove --name [ENV_NAME] --all 가상환경 생성 $ conda create --name [ENV_NAME] [PACKAGE_NAME] 가상환경 활성화 $ conda activate [ENV_NAME] 패키지 관리 패키지 설치 $ conda install [PACKAGE1] [PACKAGE2] [PACKAGE3] 패키지 삭제 $ conda remove [PACKAGE] 패키지 리..
numpy 배열을 파일 형태로 저장할 수 있다. 바로 npz!! 특히나 stylegan2의 project.py를 돌려보면 이러한 npz형태로 latent space에 mapping된 latent를 뽑아주기 때문에 좀 자주 마주쳤다. npz 파일 내부에는 np 배열이 여러개 존재할 수 있기 때문에 npz 파일에서 원하는 np 배열만 뽑아내서 사용해야할 때가 많다! npz를 다루는 방식을 아주 간단히... 정리해놔야징 npz 내부 탐색 \ from numpy import load import numpy as np def load_npz(path): data = load(path) lst = data.files for item in lst: print(f'items!!!!: {item}') np..
오늘도 에러 사냥 . https://github.com/mit-han-lab/data-efficient-gans DataEfficientGans로 transfer-learning해보다가 난 에러.. 요 자체에서 나는 에러보다 stylegan2 tf에서 나는 에러같다. stylegan2 ada tf도 동일하다고 함. AssertionError : assert state["version"] in [2, 3, 4] 뭔가 버전이 맞지 않는다고 한다. 에러가 난 코드를 찾아가 print를 찍어본다 난 도대체 버전이 몇이길래.. 버전이 5라고 한다 # assert state["version"] in [2, 3, 4] assert를 무시해버리면? TypeError: fused_bias_act() got an unex..