전체 글 192

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

딥러닝ai ChatGPT Prompt Engineering for Developers 정리와 리뷰

딥러닝ai 에 있는 ChatGPT Prompt engineering for developers 강의를 들은 정리와 소감 내용입니다. 강의는 deeplearning.ai 에 있으며, https://github.com/jinmc/chatGPT-Prompt-Engineering-for-Developers 에 관련 노트북 코드도 올려 놓았습니다. 1. Guidelines delimeter 사용하기 (특히 input에 관해서), json, html 등의 포맷으로 리턴하기, 스텝을 거쳐서 모든 조건이 완료되었는지 확인, Few-shot prompting (대화에 맞춰서 response output 하기), 몇 단계를 나눠서 response를 output하기, 등등 2. Iterative prompt developm..

openai 2023.07.21

ChatGPT Finetuning 정리 (7/4)

ChatGPT의 시대가 열리면서, ChatGPT 를 어떻게 활용해야 되는지에 대해서 온갖 방법들이 생깁니다. ChatGPT 그 자체로도 훌륭하지만, 좀 더 Customize 하고 싶은 사람들이 많아지면서 Finetuning에 대한 방법이 나옵니다. Finetuning을 하는 이유에 대해서 먼저 정리해 보자면, Fine-tuning lets you get more out of the models available through the API by providing: Higher quality results than prompt design Ability to train on more examples than can fit in a prompt Token savings due to shorter prompt..

openai 2023.07.05

No toolchains found in the NDK toolchains folder for ABI with prefix: arm-linux-androideabi ndk 관련 문제 해결

안드로이드에서 다음과 같은 에러가 나왔습니다. No toolchains found in the NDK toolchains folder for ABI with prefix: arm-linux-androideabi 여러가지를 시도해봤지만, 결국 통한 것은, android studio 에서 tools->SDK Manager->Android SDK -> SDK Tools 에 들어가면 있습니다. 원래 여러 개의 ndk 가 설치 되어있었는데 다 클릭 해제 하고 하나만 클릭해서 설치했더니 되었습니다. 시도했던 것들: cache invalidate, ndk-build install-toolchain, gradle 에다가 경로저장, 등등이 있습니다. 참고자료 : https://github.com/flutter/flutt..

cudnn 새로설치 (feat. DNN library not found)

keras를 사용해서 image classification모델을 만드는 작업을 진행 중 다음과 같은 에러를 발견했습니다. DNN library is not found. 앗 뭐지.. 하던 중 그 위의 로그에서 CuDNN이 제대로 설치되어있지 않다는 신호가 뜨네요. Loaded runtime CuDNN library: 8.1.1 but source was compiled with: 8.6.0. CuDNN library needs to have matching major version and equal or higher minor version. If using a binary install, upgrade your CuDNN library. If building from sources, make sure t..

Linux/Ubuntu 2023.06.20

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..

openai image generation를 사용해서 이미지를 만들어봅시다

정말 좋은 세상인 것 같습니다. 이제는 이미지를 만들어주는 api도 뚫리고, 해보니깐 꽤나 잘되네요. 물론 api_key가 있어야 하겠지만, 간단한 스크립트로 몇백개나 몇천개의 이미지를 손쉽게 만들수 있습니다. 다만, images 라는 폴더를 만들어줘야 합니다. size의 경우에는 256x256, 512x512, 1024x1024 세 가지가 있다고 하고, response_format은 url, b64_json 두 가자의 포맷이 있다고 합니다. num은 1에서 10까지 정할 수 있고, 첫번째 for loop에 얼마나 많은 값의 숫자를 넣느냐에 따라 받는 이미지의 양을 정할 수 있습니다. 현재 10으로 되어있기 때문에, 100장이 나오고, 100으로 하면, 1000장이 나옵니다. 해봤을 때, 250장 정도까..

openai 2023.06.13

리눅스에서 C++ (G++?) 설정하기

요즘 핫한 GoundingDino 설정하다보니깐, 에러를 잡다가 보니깐, 결국 여기까지 오게 됬네요. GroundingDino 설정은 결국 cuda_home을 환경변수로 설정해주는 이슈로 해결해주긴 했지만, 그 와중에 g++ 버전을 바꿔주는 방법을 포스팅 하도록 하겠습니다. 일단 내가 현재 사용하는 g++ 버전을 확인하는 방법입니다. which g++ 이를 통해서 어디에서 g++이 실행되는지 알 수 있습니다. 보통 /usr/bin에서 실행되는데, ls -lha 를 통해서 symlink를 확인할 수 있습니다. ls -alh /usr/bin | grep g++* 이런 식으로 g++을 사용하는 것을 알아냅니다. lrwxrwxrwx 1 root root 15 5월 15 18:45 /usr/bin/g++ -> /..

환경설정 2023.06.09