Deep Learning 25

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

keras를 이용한 image classification 구현하고 저장하기 (mobilenet, tflite)

안녕하세요 저번 포스트에서 tflite model maker를 통해서 안드로이드에서 tflite model maker를 통해 모델을 만드는 법을 포스팅하였습니다. 2023.06.02 - [모바일/안드로이드] - 안드로이드에서 Image classification 모델 만들기 하지만 tflite_model_maker의 경우 여러가지 제약상황이 많았습니다. 그 중 하나는, tflite_model_maker로 나온 결과는 uint8의 데이터타입으로 나온다는 점입니다. 딱히 이를 고칠 수 있는 방법이 없는 것 같습니다. 하지만 keras api를 사용하면 훨씬 쉽고 커스텀하기 편하게 만들 수 있습니다. 예를들어 이 코드를 봅시다. import numpy as np from tensorflow.keras.appl..

로컬에서 LLM을 돌려봅시다.. (2) 장비를 맞춰봅시다

요즘 NLP를 하고 있는데, 진입장벽이 많이 높다는 생각이 듭니다. 특히 LLM 쪽은, 하드웨어 진입장벽 때문에라도 보통 사람들이 쉽게 접근하기 어렵다는 생각이 많이 듭니다. LLM의 시대를 연 ChatGPT의 경우에는.. 너무 높은 사양을 요구해서 개인이 실질적으로 하기는 힘들지만, 새로운 LLAMA의 경우에는, 특히 낮은 사양의 경우에는 충분히 인퍼런스 할만하다고 생각이 드는게 사실입니다. 시작하기 전에, 이 포스팅을 위해 참고를 많이 한 블로그를 소개하겠습니다. reference : https://timdettmers.com/2023/01/30/which-gpu-for-deep-learning/ The Best GPUs for Deep Learning in 2023 — An In-depth Anal..

Deep Learning/NLP 2023.06.01

로컬에서 LLM을 돌려봅시다.. (1) LAMMA 그리고 그 이후

요즘 LLM이 엄청 핫합니다. 페이스북에서 LAMMA 모델을 유출? 또는 공개를 한 이후, 또 ChatGPT의 막대한 성공 이후에 ChatGPT까지는 아니더라도 적은 컴퓨팅 파워로 어느정도의 성능을 원하는 사람들이 많아지고 있습니다. 앞으로 이런 사람들이 많은 만큼, 더 작은 모델들을 위한 연구가 계속 진행될 것으로 생각됩니다. 작게나마 현재 LLAMA(Large Language Model Meta AI)를 비롯해서 현재 어떻게 되어가고 있는지를 정리해 보도록 하겠습니다. 1. LLAMA 메타 (구 페이스북)에서 만든 작은 언어 모델. Open Source 로 만들었지만 실제로 weight을 다운받으려면 메타에 waitlist을 등록해야 됩니다. 65B, 33B, 13B, 7B 네 가지 정도의 모델이 있..

Deep Learning/NLP 2023.05.17

Mobilenet 리뷰 (v1)

모바일넷 구글에서 만들어진 모델로서, V1, V2, V3가 있습니다. 각각 2017년 4월(v1), 2018년 1월(v2), 2019년 5월(v3) 입니다. 컴퓨터 비전에서 중요한 모델이고, mobilenet은 CNN의 한 종류로서, CNN을 제대로 알고 이 리뷰를 보는걸 권합니다. Mobilenet V1의 핵심 개념 Mobilenet V1 의 핵심개념은 Depthwise Seperable Convolution, Pointwise Convolution 입니다. 그리고 두개의 새로운 hyperparameter - width multiplier 와 resolution multiplier를 도입합니다. 결론적으로, accuracy를 조금만 희생을 하더라도, speed를 올릴 수 있으면 좋겠다고 생각을 합니다...

Deep Learning 2023.03.03