Deep Learning 29

Mediapipe Model Maker를 이용한 Object Detection 실습기

1. 시작: TFLite Model Maker의 문제원래는 TFLite Model Maker를 이용해서 Object Detection 모델을 학습하려고 했습니다. TFLite Model Maker는 TensorFlow Lite 모델을 간편하게 만들 수 있는 라이브러리로, 데이터셋만 준비하면 비교적 쉽게 모델을 학습하고 변환할 수 있습니다. 하지만 라이브러리를 설치하고 실행하는 과정에서 여러 가지 오류가 발생했습니다.대표적인 문제는 다음과 같습니다:라이브러리 의존성 충돌특정 버전의 TensorFlow Lite와 호환되지 않는 문제Colab 환경에서 제대로 동작하지 않는 버그이러한 문제들로 인해 결국 TFLite Model Maker를 포기하고, Mediapipe Model Maker를 활용하기로 결정했습니..

RAG의 종류와 search 방법, RAG를 도와주는 여러가지 기법들 (ft.aws workshop)

aws 에서 제공해줬던 workshop을 참고한 내용입니다. https://catalog.us-east-1.prod.workshops.aws/workshops/a372f3ed-e99d-4c95-93b5-ee666375a387/ko-KR Amazon Bedrock Q&A multi-modal chatbot with advanced RAGThis workshop implements several advanced RAG technologies such as parent document, reranker, HyDE, RAG fusion, hybrid search.catalog.us-east-1.prod.workshops.awsRAG의 종류에는 다음과 같은 종류가 있습니다. 1. Lexical Search (어휘..

Deep Learning/NLP 2025.01.17

RAFT(Retrieval Augemented Fine tuning)에서 어떤 식으로 Fine tuning을 해야할까요?

지난 포스트에서, RAG을 할 바에야 RAFT를 하는 것이 낫다는 결론을 내면서 끝을 냈습니다. 하지만 실제로 어떤 식으로 Fine-tuning 을 해야되는 지에 대해서는 알아보지 않았는데요, 이번 포스트에서는 어떤식으로 Fine-tuning을 하는지에 대해서 실질적인 예시를 가져와서 알아보도록 하겠습니다.   위의 example은 실제 training 에 사용되는 데이터를 가지고 온 것입니다.  이를 활용하면, 실제 finetune 하는게 그렇게 어렵지 않을 것 같습니다. 하지만 확실히, 그냥 finetuning 하는것보다는 훨씬 공수가 많이 드는 작업이긴 할 것 같습니다. 실제 가져와야되는 데이터들이 많으니깐 말이죠. 그리고 실제 context에서 일일히 참조가 되는 정보를 뽑아서 제공해줘야되기도 하..

Deep Learning/NLP 2024.07.17

RAG의 새로운 대안 .. RAFT(RAG 할바에야 RAFT!)

요즘 RAG(Retrieval Augmented Generation)를 모르는 사람이 없을 정도로 RAG가 대세로 떠오르고 있습니다. RAG를 모르는 사람들을 위해서 간단하게 설명하자면, RAG란, Base Document가 있고, 거기를 참고해서 Q&A를 하게 만드는 것을 말합니다. Prompt Engineering 을 어떻게 하느냐에 따라 물론 달라지겠지만, Hallucination을 방지하기 위해서 많이 씁니다. 하지만 단점으로는, Base model의 성능에 너무 많은 의존을 하게 되고, 그러다 보니 Foundation 모델의 성능이 떨어지게 되면 성능의 퀄리티가 떨어지는 단점이 있습니다. Foundation model 의 성능에 의존하다 보니, 가장 좋은 모델 (가령, GPT 4)를 쓸 수 밖에..

Deep Learning/NLP 2024.07.16

RAG란? 그리고 Langchain 을 이용한 구현까지

RAG란, Retrieval-Augmented Generation의 약자로, retriever(검색기) 파트와 generator(생성기) 파트로 나눠져 있습니다. retriever는 관련 정보를 Database에서 검색하고, 생성기는 이 정보를 사용하여서 최종 응답을 생성합니다. 관련 링크 : https://python.langchain.com/docs/use_cases/question_answering/ Q&A with RAG | 🦜️🔗 Langchain Overview python.langchain.com Indexing 이후에, (load -> split -> store)이후에, Vector Database 또는 Embedding model 에 저장한 후에, Retrieval 과 Generation..

Deep Learning/NLP 2024.01.23

augmentation을 통해서 data imbalance 맞춰주기

학습할 때, 가장 중요한 것 중 하나가 data balance를 맞춰 주는 것일 겁니다. 만약 두 개의 클래스가 한 개의 클래스는 100장, 한 개의 클래스는 1000장이 있다고 하면, 두 개의 클래스의 밸런스를 맞춰주기 위해서는 1000장을 100장으로 맞춰주기보다는 100장을 1000장으로 맞춰주는게 나을 것입니다. import os from tensorflow.keras.preprocessing.image import ImageDataGenerator, img_to_array, load_img import numpy as np from PIL import Image, ImageEnhance ​ # Directory containing the images to augment input_dir = 'c..

ChatGPT 로 쓴 data split script (Image classification)

ChatGPT로 다음과 Image classification 관련해서 train, val, test 관련된 python script 를 써달라고 말해 봤습니다. 다음은 말한 ChatGPT Script 입니다. 더보기 write me a script in python that splits images into train/val/test. The source will have several directories with images in it. Target will be empty at first. the Target will output three directories, which will maintain the directory structure as the source directory. We shou..

Jetson 에서 LLAMA2 돌리기!

결론부터 말하면, 돌리기는 실패했습니다. 하지만 llama.cpp를 make하는데까지는 성공하고, 또 어떤 노력으로 돌리려고 했는지의 과정을 설명하려고 합니다. 사용 device : Nvidia Jetson Xavier NX Developer cat /proc/device-tree/model 그 전에 llama2를 로컬에서 돌리는 방법의 포스팅을 참고해서, https://walkaroundthedevelop.tistory.com/166 맥북 실리콘에서 LLAMA2 로컬에서 돌리는 방법입니다. reference : https://www.youtube.com/watch?v=TsVZJbnnaSs Repos and models 1. Request access: https://ai.meta.com/resource..

Deep Learning/NLP 2023.07.28

LLAMA2. 과연 엄청난 혁신일까?

LLAMA 모델이 공개(또는 유출?) 되면서 한번 파란이 일었었는데, 생각보단..? 별로 우리의 삶에 영향이 없었던 것으로 생각됩니다.그 이유로는, 아마 훨씬 더 좋은 모델인 GPT3, GPT3.5, GPT4 가 무료 또는 적은 비용으로 사용이 가능하기 때문이라고 생각됩니다. 게다가, LLAMA 초기 모델의 경우 모델을 구하는것도 상당히 어려웠어서, 더 개발하기가 힘든 부분이 있었습니다. 하지만 이번 LLAMA2 같은 경우, 메타에서 작정하고 내놓은 느낌입니다. 그럼 LLAMA 1에 비해서 어떤 점이 달라졌는지 살펴볼까요?? context size가 커진 것, 훈련에 사용된 데이터가 40% 늘어난 점, 상업적 사용이 가능한 점 이외에, 가장 중요한 점은, Fine-tune할 수 있는 Chat versio..

Deep Learning/NLP 2023.07.24

맥북 실리콘에서 LLAMA2 로컬에서 돌리는 방법입니다.

reference : https://www.youtube.com/watch?v=TsVZJbnnaSs Repos and models 1. Request access: https://ai.meta.com/resources/models-and-libraries/llama-downloads/ 2. Clone: https://github.com/facebookresearch/llama 3. Clone: https://github.com/ggerganov/llama.cpp 위 두 개의 git repository를 클론하고 1번 url에서 llama2 model을 받습니다. llama2 모델은 (7B, 13B, 70B, 7B-chat, 13B-chat, 70B-chat) 6가지 종류 중 하나입니다. 7B 모델 기준 ..

Deep Learning/NLP 2023.07.24