1.CSDN链接
2.知乎链接
1.知乎链接
2.知乎链接
1.知乎链接
2.知乎链接
代码见APP_example/langchain_keypoint
1.知乎链接 代码见APP_example/clip_retrieval
1.图片库特征抽取代码:extract_embeddings.py
2.图片特征在faiss向量数据库建立索引:build_index.py
3.可视化应用界面:app.py
1.知乎链接
代码见APP_example/retrieval_image_gen,如果直接启动需要24G左右显卡(没这么对显卡同学可以考虑api方式实现llm和image2image,clip检索显卡需求很低)
1.整合最终效果代码:app_gradio.py
2.图片image2image代码:upimage.py
3.openaistyle访问qwen大模型:先启动服务端openai_api.py;在启动可视化界面 chatbot_st.py
1.知乎链接
代码见APP_example/auto_poster,如果直接启动需要24G左右显卡.目前代码还之包括4个模块,模块间衔接需要人手动操作,下一个版本会做到自动化一键输入生成。
1.生图模块
2.字排版模块
3.图文混合模块
4.图审核验证模块
1.知乎链接
代码见APP_example/digital_human,有五个模块,每个模块可以顺序启动,启动一个运行完得到中间结果关闭然后运行下一个。
webwxgetvideo.mp4
webwxgetvideo.1.mp4
pip install -r requirements.txt
python finetune.py \
--dataset_path data/alpaca \
--lora_rank 8 \
--per_device_train_batch_size 2 \
--gradient_accumulation_steps 1 \
--max_steps 2000 \
--save_steps 1000 \
--save_total_limit 2 \
--learning_rate 2e-5 \
--fp16 \
--remove_unused_columns false \
--logging_steps 50 \
--report_to wandb
--output_dir output
torchrun --nproc_per_node=2 multi_gpu_fintune_belle.py \
--dataset_path data/alpaca \
--lora_rank 8 \
--per_device_train_batch_size 1 \
--gradient_accumulation_steps 1 \
--save_steps 2000 \
--save_total_limit 2 \
--learning_rate 2e-5 \
--fp16 \
--num_train_epochs 2 \
--remove_unused_columns false \
--logging_steps 50 \
--report_to wandb
--output_dir output \
--deepspeed ds_config_zero3.json
1.0.5M版本:
cd data
wget https://huggingface.co/datasets/BelleGroup/generated_train_0.5M_CN/resolve/main/Belle.train.json
2.1M版本
wget https://huggingface.co/datasets/BelleGroup/generated_train_1M_CN/resolve/main/belle_open_source_1M.train.json
3.把两份数据合并成一份
a.0.5M和1M数据字段有些不同,统一处理数据,用地下代码处理1M数据
cd ..
python process_belle_1M_data.py
b.把两份文件合并成一份,命名为:Belle_0_1.train.json
cd data & cat Belle.train.json Belle_1M.train.json>Belle_0_1.train.json
torchrun --nproc_per_node=2 multi_gpu_fintune_belle.py \
--dataset_path data/alpaca \
--lora_rank 8 \
--per_device_train_batch_size 1 \
--gradient_accumulation_steps 1 \
--save_steps 1000 \
--save_total_limit 2 \
--learning_rate 2e-5 \
--fp16 \
--num_train_epochs 2 \
--remove_unused_columns false \
--logging_steps 50 \
--gradient_accumulation_steps 2 \
--output_dir output \
--deepspeed ds_config_zero3.json
下载数据
cd data
wget https://huggingface.co/datasets/BelleGroup/generated_train_0.5M_CN/resolve/main/Belle.train.json
python tokenize_dataset_rows_belle.py
--jsonl_path data/alpaca_data.jsonl
--save_path data/alpaca
--max_seq_length 200
--skip_overlength
accelerate launch --config_file accelerate_ds_zero3_cpu_offload_config.yaml multi_gpu_fintune_belle.py \
--dataset_path data/alpaca \
--lora_rank 8 \
--per_device_train_batch_size 2 \
--gradient_accumulation_steps 1 \
--max_steps 10000 \
--save_steps 1000 \
--save_total_limit 2 \
--learning_rate 2e-5 \
--fp16 \
--remove_unused_columns false \
--logging_steps 50 \
--output_dir output
实际工作中常常会出现,需要批量不数据预测出来问题
往往我们有一台高性能的机器,但是如果做fintune,只能一张卡一个时间面对一个请求,造成显卡存资源浪费
batch inference成为必要
1.deepspeed --num_gpus 2 chatglm_deepspeed_inference.py
2.显卡资源不足以装下大模型,可以用accelerate.load_checkpoint_and_dispatch:
如果也想用deepspeed加速,把以下注释代码去掉:
# init deepspeed inference engine
'''ds_model = deepspeed.init_inference(
model=model, # Transformers models
mp_size=8, # Number of GPU
dtype=torch.float16, # dtype of the weights (fp16)
replace_method="auto", # Lets DS autmatically identify the layer to replace
replace_with_kernel_inject=True, # replace the model with the kernel injector
)
print(f"model is loaded on device {ds_model.module.device}")'''
deepspeed --num_gpus 2 chatglm_milti_gpu_inference.py
streamlit run web_feedback.py --server.port 6006
进入APP——example应用
进入APP——example应用 chat_langchain
pip install -r requirement.txt \n
python knowledge_based_chatglm.py
现在还比较naive,逐步会增加更实用更工业化的任务
1.新增dreambooth lora训练方法 2.多lora合并生成效果
做了一个工具整合,后面会整合更多能力,相信我们不会只做工具罗列的人