Closed newbietuan closed 1 year ago
数据并行,数据切分8份,每个卡执行一份数据,写个shell跑。
数据并行,数据切分8份,每个卡执行一份数据,写个shell跑。
就是说要手动起多个任务去跑,不能用torch的并行或multiprocessing直接一个程序里进行并行的意思吗?要如何在一个程序里进行多卡
参考多卡预测:https://github.com/shibing624/MedicalGPT/blob/main/inference_multigpu_demo.py 可以自己写。 跟shell每个卡执行一遍是一样速度。
参考多卡预测:https://github.com/shibing624/MedicalGPT/blob/main/inference_multigpu_demo.py 可以自己写。 跟shell每个卡执行一遍是一样速度。
shell多卡多次执行的话就不能方便的把每一部分的embedding合并起来嘛,后面进行检索要在全量数据上进行
为啥不能?你存个jsonl,检索时多文件加载合并起来。
为啥不能?你存个jsonl,检索时多文件加载合并起来。
嗯~就是最近很多东西都是这样多线程存了jsonl再读,所以想试试直接不用这种方法的。。。还一个顾虑就是全存一遍的话可能占空间会比较多吧
支持多卡推理(多进程实现多GPU、多CPU推理),text2vec
支持多卡推理(计算文本向量): examples/computing_embeddings_multi_gpu_demo.py
from text2vec import Similarity, semantic_search sim_model = Similarity(model_name_or_path="./data/model/text2vec-base-chinese", max_seq_length=512) embedding_query = sim_model.model.encode(query) corpus_embedding = sim_model.model.encode(corpus, batch_size=64, convert_to_numpy=False, show_progress_bar=True) result_list = semantic_search(query_embeddings=embedding_query, corpus_embeddings=corpus_embedding)
embedding的过程占用时间较多,请问如何将sim_model.model.encode使用多卡进行?