{"id":21887802,"url":"https://github.com/arjuntheprogrammer/llm_workshop_iitb","last_synced_at":"2025-03-22T02:22:16.018Z","repository":{"id":190918334,"uuid":"683590468","full_name":"arjuntheprogrammer/llm_workshop_iitb","owner":"arjuntheprogrammer","description":null,"archived":false,"fork":false,"pushed_at":"2023-08-27T04:21:59.000Z","size":1376,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-26T20:29:23.903Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arjuntheprogrammer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-27T04:17:14.000Z","updated_at":"2023-08-27T04:17:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"aa9d1b56-d575-4749-85d5-66d42fa39c06","html_url":"https://github.com/arjuntheprogrammer/llm_workshop_iitb","commit_stats":null,"previous_names":["arjuntheprogrammer/llm_workshop_iitb"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arjuntheprogrammer%2Fllm_workshop_iitb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arjuntheprogrammer%2Fllm_workshop_iitb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arjuntheprogrammer%2Fllm_workshop_iitb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arjuntheprogrammer%2Fllm_workshop_iitb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arjuntheprogrammer","download_url":"https://codeload.github.com/arjuntheprogrammer/llm_workshop_iitb/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244895079,"owners_count":20527829,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-28T11:12:35.181Z","updated_at":"2025-03-22T02:22:16.013Z","avatar_url":"https://github.com/arjuntheprogrammer.png","language":"Jupyter Notebook","readme":"# LLM Workshop IITB\n\n### IITBAA Bengaluru Chapter - \"Hands-On Workshop on Open Source LLM Deployment and Fine-Tuning\n\n1. LLM UseCase - Wikipedia Corpus\n   a. Open Source Model Deployment\n   b. Supervised FineTuning\n   c. Quantisation - Cost vs. Quality\n   d. Retrieval Augmented Generation\n   e. Evaluation\n\n2. Image Diffusion UseCase - Personalized Image Generation\n   a. Composition Based FineTuning\n   - Control Net / Drag GAN\n     b. Style Based FineTuning\n   - DreamBooth / Textual Inversion and LoRa\n     c. Prompt Engineering - How Negative Prompting Works\n\n\u003chttps://www.iitbombay.org/e/iitbaa-bengaluru-chapter-gen-ai-workshop/\u003e\n\n---\n\nSetting up the GPU Node\n\nAll these commands should be run when the node is created. The starter_scripts.sh should be used at creation of node.\n\nConfig: A100 40 GB RAM / Ubuntu\n\n#GPU Setup\nnvidia-smi -mig 1\nnvidia-smi mig -cgi 0 -C\n\n#Setting up the Virtual Environment\nsudo apt install python3.8-venv\nsudo apt install git-lfs\npython3 -m venv llmenv\n\n#Installing Packages\nsource llmenv/bin/activate\npip install jupyter\npip install notebook\npip install torch==2.0.0+cu118 torchvision==0.15.1+cu118 torchaudio==2.0.1 --index-url https://download.pytorch.org/whl/cu118\npip install git+https://github.com/huggingface/transformers\npip install -q accelerate==0.21.0 peft==0.4.0 bitsandbytes==0.40.2 trl==0.4.7\npip install -q -U datasets\npip install -q -U einops\npip install -q -U wandb\npip install -q -U evaluate\n\n### Other configuration\n\n1. Create an account on huggingface (https://huggingface.co/)\n2. Request access to the LLAMA 2 CHAT 7B Model (https://huggingface.co/meta-llama/Llama-2-7b-chat-hf ). This is the Base model we will tune for our various tasks. Please note that the review for this takes some time so please request access to this as soon as possible. 1 per group should be fine.\n3. Optional: Create an account on Weights and Biases (https://wandb.ai/ )\n\n### Clone the repo\n\ngit clone https://github.com/arjuntheprogrammer/llm_workshop_iitb.git\n**PLEASE NOTE**\n**If the starter script does not work. Please run the script to prepare the node**\n\n1. chmod 700 llm_workshop_iitb/starter_script.sh\n2. ./llm_workshop_iitb/starter_script.sh\n\nRunning Jupyter Notebook - Do this before the start of the workshop\n\n1. Login to the Node using SSH.\n   You will receive login credentials over email you have used for E2E\n2. Activate the virtual env\n   source llmenv/bin/activate\n3. Run the jupyter server on the node\n   jupyter notebook --no-browser --port=9999 --allow-root\n   Run a ssh tunnel on your local machine\n   ssh -L 8080:localhost:9999 root@\u003cREMOTE_HOST\u003e\n   You can access the jupyter interface at http:://localhost:8080\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farjuntheprogrammer%2Fllm_workshop_iitb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farjuntheprogrammer%2Fllm_workshop_iitb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farjuntheprogrammer%2Fllm_workshop_iitb/lists"}