不在 CPU 上运行

作者: Delitants创建于 2026年5月25日更新于 2026年6月26日

I have integrated LLM4Decompile into Pi coder via Qwen3.6, but when the model tried to use LLM4Decompile to refine the Ghidra output, I got this response: "The LLM4Decompile output on CPU is very garbled — lots of tmp variables and the formatting isn't clean. The model needs GPU for proper refinement." Why can't it be used on CPU only? source llm4decompile_venv/bin/activate && python3 -c " import torch from transformers import AutoTokenizer, AutoModelForCausalLM model = AutoModelForCausalLM.from_pretrained('LLM4Binary/llm4decompile-6.7b-v2', device_map='cpu') tokenizer = AutoTokenizer.from_pretrained('LLM4Binary/llm4decompile-6.7b-v2') with open('/tmp/ghidra_46b220.txt') as f: pseudo = f.read() prompt = f'# This is the decompiled pseudo-code from Ghidra:\n{pseudo}\n# What is the refined C source code?' inputs = tokenizer(prompt, return_tensors='pt') outputs = model.generate(**inputs, max_new_tokens=512) refined = tokenizer.decode(outputs[0][len(inputs[0]):], skip_special_tokens=True) print(refined.strip()) 2>&1 (timeout 300s) ... (3 earlier lines, ctrl+o to expand) void FUN_0046b220(void){ int32_t tmp; int32_t tmp_0; int32_t tmp_1; int32_t tmp_2; int32_t tmp_3; int32_t tmp_4; int32_t tmp_5; int32_t tmp_6; int32_t tmp_7; int32_t tmp_8; int32_t tmp_9; int32_t tmp_10; int32_t tmp_11; int32_t tmp_12; int32_t tmp_13; int32_t tmp_14; int32_t tmp_15; int32_t tmp_16; int32_t tmp_17; int32_t tmp_18; int32_t tmp_19; int32_t tmp_20; int32_t tmp_21; int32_t tmp_22; int32_t tmp_23; int32_t tmp_24; int32_t tmp_25; int32_t tmp_26; int32_t tmp_27; int32_t tmp_28; int32_t tmp_29; int32_t tmp_30; int32_t tmp_31; int32_t tmp_32; int32_t tmp_33; int32_t tmp_34; int32_t tmp_35; int32_t tmp_36; int32_t tmp_37; int32_t tmp_38; int32_t tmp_39; int32_t tmp_40; int32_t tmp_41; int32_t tmp_42; int32_t tmp_43; int32_t tmp_44; int32_t tmp_45; int32_t tmp_46; int32_t tmp_47; int32_t tmp_48; int32_t tmp_49; int32_t tmp_50; int32_t tmp_51; int32_t tmp_52; int32_t tmp_53; int32_t tmp_54; int32_t tmp_55; int32_t tmp_56; int32_t tmp_57; int32_t tmp_58; int32_t tmp_59; int32_t tmp_60; int32_t tmp_61; int32_t tmp_62; int32_t tmp_63; int32_t tmp_64; int32_t tmp_65; int32_t tmp_66; int32_t tmp_67; int32_t tmp_68; int32_t tmp_69; int32_t tmp_70; int32_t tmp_71; int32_t tmp_72; int32_t tmp_73; int32_t tmp_74; int32_t tmp_75; int32_t tmp_76; int32_t tmp_77; int32_t tmp_78; int32_t tmp_79; int32_t tmp_80; int32_t tmp_81; int32_t tmp_82; int32_t tmp_83; int32_t tmp_84; int32_t tmp_85; int32_t tmp_86; int32_t tmp_87; int32_t tmp_88; int32_t tmp_89; int32_t tmp_90; int32_t tmp_91; int32_t tmp_92; int32_t tmp_93; int32_t tmp_94; int32_t tmp_95; int32_t tmp_96; int32_t tmp_97; int32_t tmp_98; int32_t tmp_99; int32_t tmp_100; int32_t tmp_101; int32_t tmp_102; int32_t tmp_103; int32_t tmp_104; int32_t tmp_105; int32_t tmp_106; int32_t tmp_107; int32_t tmp_108; int32_t tmp_109; int32_t tmp_110; int32_t tmp_111; int32_t tmp_112; int32_t tmp_113; int32_t tmp_114; int32_t tmp_115; int32_t tmp_116; int32_t tmp_117; int32_t tmp_118; int32_t tmp_119; int32_t tmp_120; int32_t tmp_121; int32_t tmp_122; int32_t tmp_123; int32_t tmp_124; int32_t tmp_125; int32_t tmp_126; int32_t tmp_127; int32_t tmp_128; int32_t tmp_129; int32_t tmp_130; int32_t tmp_131; int32_t tmp_132; int32_t tmp_133; int32_t tmp_134; int32_t tmp_135; int32_t tmp_136; int32_t tmp_137; int32_t tmp_138; int32_t tmp_139; int32_t tmp_140; int32_t tmp_141; int32_t tmp_142; int32_t tmp_143; int32_t tmp_144; int32_t tmp_145; int32_t tmp_146; int32_t tmp_147; int32_t tmp_148; int32_t tmp_149; int32_t tmp_150; int32_t tmp_151; int32_t tmp_152; int32_t tmp_153; int32_t tmp_154; int32_t tmp_155; int32_t tmp_156; int32_t tmp_157; int32_t tmp_158; int32_t tmp_159; int32_t tmp_160; int32_t tmp_161; int32_t tmp_162; int32_t tmp_163; int32_t tmp_164; int32_t tmp_165; int32_t tmp_166; int32_t tmp_167; int32_t tmp_168; int32_t tmp_169; int32_t tmp_170; int32_t tmp_171; int32_t tmp_172; int32_t tmp_173; int32_t tmp_174; int32_t tmp_175; int32_t tmp_176; int32_t tmp_177; int32_t tmp_178; int32_t tmp_179; int32_t tmp_180; int32_t tmp_181; int32_t tmp_182; int32_t tmp_183; int32_t tmp_184; int32_t tmp_185; int32_t tmp_186; int32_t tmp_187; int32_t tmp_188; int32_t tmp_189; int32_t tmp_190; int32_t tmp_191; int32_t tmp_192; int32_t tmp_193; int32_t tmp_194; int32_t tmp_195; int32_t tmp_196; int32_t tmp_197; int32_t tmp_198; int32_t tmp_199; int32_t tmp_200; int32_t tmp_201; int32_t tmp_202; int32_t tmp_203; int32_t tmp_204; int32_t tmp_205; int32_t tmp_206; int32_t tmp_207; int32_t tmp_208; int32_t tmp_209; int32_t tmp_210; int32_t tmp_211; int32_t tmp_212; int32_t tmp_213; int32_t tmp_214; int32_t tmp_215; int32_t tmp_216; int32_t tmp_217; int32_t tmp_218; int32_t tmp_219; int32_t tmp_220; int32_t tmp_221; int32_t tmp_222; int32_t tmp_223; int32_t tmp_224; int32_t tmp_225; int32_t tmp_226; int32_t tmp_227; int32_t tmp_228; int32_t tmp_229; int32_t tmp_230; int32_t tmp_231; int32_t tmp_232; int32_t tmp_233; int32_t tmp_234; int32_t tmp_235; int32_t tmp_236; int32_t tmp_237; int32_t tmp_238; int32_t tmp_239; int32_t tmp_240; int32_t tmp_241; int32_t tmp_242; int32_t tmp_243; int32_t tmp_244; int32_t tmp_245; int32_t tmp_246; int32_t tmp_247; int32_t tmp_248; int32_t tmp_249; int32_t tmp_250; int32_t tmp_251; int32_t tmp_252; int32_t tmp_253; int32_t tmp_254; int32_t tmp_255; int32_t tmp_256; int32_t tmp_257; int32_t tmp_258; int32_t tmp_259; int32_t tmp_260; int32_t tmp_261; int32_t tmp_262; int32_t tmp_263; int32_t tmp_264; int32_t tmp_265; int32_t tmp_266; int32_t tmp_267; int32_t tmp_268; int32_t tmp_269; int32_t tmp_270; int32_t tmp_271; int32_t tmp_272; int32_t tmp_273; int32_t tmp_274; int32_t tmp_275; int32_t tmp_276; int32_t tmp_277; int

内容来源: albertan017/LLM4Decompile