chen459664's picture
Add files using upload-large-folder tool
55c92b3 verified
Raw
History Blame Contribute Delete
3.42 kB
calc_mem_inc <- function(df_cfgs) {
df_cfg_mem <- df_cfgs |>
dplyr::mutate(
base_cfg = sapply(bit_budget, budget_to_cfg),
cfg = paste0("b", b1, "g", g1),
bpp = sapply(cfg, calc_bpp),
base_bpp = sapply(base_cfg, calc_bpp),
mem_orig = param_cnt * base_bpp,
mem_new = param_cnt * bpp
) |>
select(-c("b1", "g1", "b2", "g2", "base_bpp", "base_cfg", "memmb")) |>
dplyr::mutate(
cfg = factor(
cfg,
levels = c(
"b2g128", "b2g64", "b2g32",
"b3g128", "b3g64", "b3g32",
"b4g128", "b4g64", "b4g32",
"b8g128", "b8g64", "b8g32"
)
)
) |>
group_by(attempt, model, bit_budget) |>
summarise(
mem_orig = sum(mem_orig),
mem_new = sum(mem_new)
) |>
mutate(
mem_orig = mem_orig / 8 / 1024^2,
mem_new = mem_new / 8 / 1024^2,
increment = round(100 * (mem_new - mem_orig) / mem_orig, digits = 2)
)
return(df_cfg_mem)
}
load_ppl_mem_inc <- function(allot_cfg_csv_fp, combined_csv_fp) {
df_cfgs <- read_csv(allot_cfg_csv_fp) |>
mutate(
model = factor(
model,
levels = c("Llama-2-7b-hf", "Llama-2-13b-hf", "Meta-Llama-3-8B"),
labels = c("Llama-2-7B", "Llama-2-13B", "Llama-3-8B")
)
)
df_w_base <- read_csv(combined_csv_fp) |>
mutate(
model = factor(
model,
levels = c("Llama-2-7b-hf", "Llama-2-13b-hf", "Meta-Llama-3-8B"),
labels = c("Llama-2-7B", "Llama-2-13B", "Llama-3-8B")
)
)
df_hqq <- df_w_base |>
filter(
algo == "hqq"
)
df_cfg_mem <- calc_mem_inc(df_cfgs)
df_ppl_mem_inc <- df_cfg_mem |>
left_join(
df_hqq,
suffix = c("", "_h"),
by = join_by(model, bit_budget == bpp)
) |>
left_join(
df_w_base,
suffix = c("_hqq", ""),
by = join_by(model, attempt, bit_budget == bpp)
) |>
mutate(
ppl_wikitext_decr = round(
100 * (ppl_wikitext_hqq - ppl_wikitext) / ppl_wikitext_hqq,
digits = 2
),
ppl_c4_decr = round(
100 * (ppl_c4_hqq - ppl_c4) / ppl_c4_hqq,
digits = 2
),
mem_incr = round(
100 * (load_mem_allot - load_mem_allot_hqq) / load_mem_allot_hqq,
digits = 2
)
) |>
rename(bpp = bit_budget) |>
select(
c(
"model",
"attempt",
"bpp",
"increment",
"ppl_wikitext_decr",
"ppl_c4_decr",
"mem_incr",
"ppl_wikitext",
"ppl_c4",
"ppl_wikitext_hqq",
"ppl_c4_hqq",
"mem_orig",
"mem_new",
"load_mem_allot",
"load_mem_allot_hqq"
)
)
df_ppl_mem_inc <- df_ppl_mem_inc |>
filter(
!is.na(attempt) & attempt != "mxq1"
) |>
separate_wider_regex(
attempt,
c(method = "\\w+-\\w+", "-", stop_topm = "\\d-\\d")
) |>
mutate(
ablation = ifelse(grepl("-abl", method), TRUE, FALSE),
method1 = ifelse(grepl("sensi-", method), "SensiBoost", "KurtBoost")
) |>
mutate(method = method1) |>
select(!c("method1")) |>
pivot_longer(
cols = c("ppl_wikitext", "ppl_c4"),
names_to = c(".value", "dataset"),
names_sep = "_"
) |>
mutate(
dataset = factor(
dataset,
levels = c("wikitext", "c4"),
labels = c("WikiText2", "C4")
)
)
list(df_ppl_mem_inc, df_hqq)
}