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
![aigc-imag0](https://private-user-images.githubusercontent.com/9170648/301188444-37803193-7dfe-4f14-842c-d8feef01b9ca.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEyNTAwNzAsIm5iZiI6MTcyMTI0OTc3MCwicGF0aCI6Ii85MTcwNjQ4LzMwMTE4ODQ0NC0zNzgwMzE5My03ZGZlLTRmMTQtODQyYy1kOGZlZWYwMWI5Y2EucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDcxNyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA3MTdUMjA1NjEwWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ZWQxMDgxODcxNTVlNGY3NWRhMTExNmM5MzkyODhlMDRjNzI0NDUwMzI4M2ZjMjE2ZmY0NzE4Zjc3M2NhODA3MiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.4OD_WNOoF1BdNFZOdRQlFZmAH2gARJvUdYa6A3PZMz4)
![aigc-img01](https://private-user-images.githubusercontent.com/9170648/301188468-cad425d2-4557-4337-a4ae-046096fd384e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEyNTAwNzAsIm5iZiI6MTcyMTI0OTc3MCwicGF0aCI6Ii85MTcwNjQ4LzMwMTE4ODQ2OC1jYWQ0MjVkMi00NTU3LTQzMzctYTRhZS0wNDYwOTZmZDM4NGUucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDcxNyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA3MTdUMjA1NjEwWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9Yjg3ZGRjNzdiOTlmZjA2MGE1MDZiZGE0Yjg3MzJmZDA5Yjg1NzM4MTY1YzRjMGM3NGNjOGUxMmM0ZjMzM2NlZSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.AfzrQtn4N76MIlBt87_sETiKx4SgVuYhqBP8Cez0Wk4)
1.知乎链接
代码见APP_example/auto_poster,如果直接启动需要24G左右显卡.目前代码还之包括4个模块,模块间衔接需要人手动操作,下一个版本会做到自动化一键输入生成。
1.生图模块
2.字排版模块
3.图文混合模块
4.图审核验证模块
![aigc-img01](https://private-user-images.githubusercontent.com/9170648/326830144-3a47650a-6047-4a8e-a4fa-de14dab73abb.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEyNTAwNzAsIm5iZiI6MTcyMTI0OTc3MCwicGF0aCI6Ii85MTcwNjQ4LzMyNjgzMDE0NC0zYTQ3NjUwYS02MDQ3LTRhOGUtYTRmYS1kZTE0ZGFiNzNhYmIucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDcxNyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA3MTdUMjA1NjEwWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NWZiNGRlMTg1NzgwZGY5ODU0MjBiZDcwMzY3YWQ5ZWI1NzYxZDlmMGY0ZTNlZjdmZmFmMGI0OTg0Zjg1NjUxYyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.Fn851PI74evpA0upbUy0yCu2FbAUJc5RmNg3tnEJtOg)
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合并生成效果
做了一个工具整合,后面会整合更多能力,相信我们不会只做工具罗列的人