Skip to content

Commit

Permalink
optimize_sparse_strategy (#3311)
Browse files Browse the repository at this point in the history
  • Loading branch information
lugimzzz authored Sep 20, 2022
1 parent 938edda commit 77b65d3
Show file tree
Hide file tree
Showing 6 changed files with 30 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,8 @@ python sparse.py \
* `max_seq_length`:分词器tokenizer使用的最大序列长度,ERNIE模型最大不能超过2048。请根据文本长度选择,通常推荐128、256或512,若出现显存不足,请适当调低这一参数;默认为128。
* `batch_size`:批处理大小,请结合显存情况进行调整,若出现显存不足,请适当调低这一参数;默认为32。
* `seed`:随机种子,默认为3。
* `rationale_num`:计算样本置信度时支持训练证据数量,默认为3。
* `rationale_num_sparse`:筛选稀疏数据时计算样本置信度时支持训练证据数量;认为3。
* `rationale_num_support`:筛选支持数据时计算样本置信度时支持训练证据数量,如果筛选的支持数据不够,可以适当增加;默认为6。
* `sparse_num`:筛选稀疏数据数量,建议为开发集的10%~20%,默认为100。
* `support_num`:用于数据增强的支持数据数量,建议为训练集的10%~20%,默认为100。
* `support_threshold`:支持数据的阈值,只选择支持证据分数大于阈值作为支持数据,默认为0.7。
Expand Down Expand Up @@ -185,7 +186,8 @@ python sparse.py \
* `max_seq_length`:分词器tokenizer使用的最大序列长度,ERNIE模型最大不能超过2048。请根据文本长度选择,通常推荐128、256或512,若出现显存不足,请适当调低这一参数;默认为128。
* `batch_size`:批处理大小,请结合显存情况进行调整,若出现显存不足,请适当调低这一参数;默认为32。
* `seed`:随机种子,默认为3。
* `rationale_num`:计算样本置信度时支持训练证据数量,默认为3。
* `rationale_num_sparse`:筛选稀疏数据时计算样本置信度时支持训练证据数量;认为3。
* `rationale_num_support`:筛选支持数据时计算样本置信度时支持训练证据数量,如果筛选的支持数据不够,可以适当增加;默认为6。
* `sparse_num`:筛选稀疏数据数量,建议为开发集的10%~20%,默认为100。
* `support_num`:用于数据增强的支持数据数量,建议为训练集的10%~20%,默认为100。
* `support_threshold`:支持数据的阈值,只选择支持证据分数大于阈值作为支持数据,默认为0.7。
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,8 @@
parser.add_argument("--max_seq_length", default=128, type=int, help="The maximum total input sequence length after tokenization. Sequences longer than this will be truncated, sequences shorter will be padded.")
parser.add_argument("--batch_size", default=16, type=int, help="Batch size per GPU/CPU for training.")
parser.add_argument("--seed", type=int, default=3, help="random seed for initialization")
parser.add_argument("--rationale_num", type=int, default=3, help="Number of rationales per example.")
parser.add_argument("--rationale_num_sparse", type=int, default=3, help="Number of rationales per example for sparse data.")
parser.add_argument("--rationale_num_support", type=int, default=6, help="Number of rationales per example for support data.")
parser.add_argument("--sparse_num", type=int, default=100, help="Number of sparse data.")
parser.add_argument("--support_threshold", type=float, default="0.7", help="The threshold to select support data.")
parser.add_argument("--support_num", type=int, default=100, help="Number of support data.")
Expand Down Expand Up @@ -180,7 +181,8 @@ def find_sparse_data():
# Feature similarity analysis & select sparse data
analysis_result = []
for batch in dev_data_loader:
analysis_result += feature_sim(batch, sample_num=args.rationale_num)
analysis_result += feature_sim(batch,
sample_num=args.rationale_num_sparse)
sparse_indexs, sparse_scores, preds = get_sparse_data(
analysis_result, args.sparse_num)

Expand Down Expand Up @@ -285,7 +287,8 @@ def find_support_data():
# Feature similarity analysis
analysis_result = []
for batch in sparse_data_loader:
analysis_result += feature_sim(batch, sample_num=-1)
analysis_result += feature_sim(batch,
sample_num=args.rationale_num_support)

support_indexs, support_scores = get_support_data(analysis_result,
args.support_num,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,8 @@ python sparse.py \
* `max_seq_length`:分词器tokenizer使用的最大序列长度,ERNIE模型最大不能超过2048。请根据文本长度选择,通常推荐128、256或512,若出现显存不足,请适当调低这一参数;默认为128。
* `batch_size`:批处理大小,请结合显存情况进行调整,若出现显存不足,请适当调低这一参数;默认为32。
* `seed`:随机种子,默认为3。
* `rationale_num`:计算样本置信度时支持训练证据数量,默认为3。
* `rationale_num_sparse`:筛选稀疏数据时计算样本置信度时支持训练证据数量;认为3。
* `rationale_num_support`:筛选支持数据时计算样本置信度时支持训练证据数量,如果筛选的支持数据不够,可以适当增加;默认为6。
* `sparse_num`:筛选稀疏数据数量,建议为开发集的10%~20%,默认为100。
* `support_num`:用于数据增强的支持数据数量,建议为训练集的10%~20%,默认为100。
* `support_threshold`:支持数据的阈值,只选择支持证据分数大于阈值作为支持数据,默认为0.7。
Expand Down Expand Up @@ -182,7 +183,8 @@ python sparse.py \
* `max_seq_length`:分词器tokenizer使用的最大序列长度,ERNIE模型最大不能超过2048。请根据文本长度选择,通常推荐128、256或512,若出现显存不足,请适当调低这一参数;默认为128。
* `batch_size`:批处理大小,请结合显存情况进行调整,若出现显存不足,请适当调低这一参数;默认为32。
* `seed`:随机种子,默认为3。
* `rationale_num`:计算样本置信度时支持训练证据数量,默认为3。
* `rationale_num_sparse`:筛选稀疏数据时计算样本置信度时支持训练证据数量;认为3。
* `rationale_num_support`:筛选支持数据时计算样本置信度时支持训练证据数量,如果筛选的支持数据不够,可以适当增加;默认为6。
* `sparse_num`:筛选稀疏数据数量,建议为开发集的10%~20%,默认为100。
* `support_num`:用于数据增强的支持数据数量,建议为训练集的10%~20%,默认为100。
* `support_threshold`:支持数据的阈值,只选择支持证据分数大于阈值作为支持数据,默认为0.7。
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,8 @@
parser.add_argument("--max_seq_length", default=128, type=int, help="The maximum total input sequence length after tokenization. Sequences longer than this will be truncated, sequences shorter will be padded.")
parser.add_argument("--batch_size", default=16, type=int, help="Batch size per GPU/CPU for training.")
parser.add_argument("--seed", type=int, default=3, help="random seed for initialization")
parser.add_argument("--rationale_num", type=int, default=3, help="Number of rationales per example.")
parser.add_argument("--rationale_num_sparse", type=int, default=3, help="Number of rationales per example for sparse data.")
parser.add_argument("--rationale_num_support", type=int, default=6, help="Number of rationales per example for support data.")
parser.add_argument("--sparse_num", type=int, default=100, help="Number of sparse data.")
parser.add_argument("--support_threshold", type=float, default="0.7", help="The threshold to select support data.")
parser.add_argument("--support_num", type=int, default=100, help="Number of support data.")
Expand Down Expand Up @@ -180,7 +181,8 @@ def find_sparse_data():
# Feature similarity analysis & select sparse data
analysis_result = []
for batch in dev_data_loader:
analysis_result += feature_sim(batch, sample_num=args.rationale_num)
analysis_result += feature_sim(batch,
sample_num=args.rationale_num_sparse)
sparse_indexs, sparse_scores, preds = get_sparse_data(
analysis_result, args.sparse_num)

Expand Down Expand Up @@ -290,7 +292,8 @@ def find_support_data():
# Feature similarity analysis
analysis_result = []
for batch in sparse_data_loader:
analysis_result += feature_sim(batch, sample_num=-1)
analysis_result += feature_sim(batch,
sample_num=args.rationale_num_support)

support_indexs, support_scores = get_support_data(analysis_result,
args.support_num,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,8 @@ python sparse.py \
* `max_seq_length`:分词器tokenizer使用的最大序列长度,ERNIE模型最大不能超过2048。请根据文本长度选择,通常推荐128、256或512,若出现显存不足,请适当调低这一参数;默认为128。
* `batch_size`:批处理大小,请结合显存情况进行调整,若出现显存不足,请适当调低这一参数;默认为32。
* `seed`:随机种子,默认为3。
* `rationale_num`:计算样本置信度时支持训练证据数量,默认为3。
* `rationale_num_sparse`:筛选稀疏数据时计算样本置信度时支持训练证据数量;认为3。
* `rationale_num_support`:筛选支持数据时计算样本置信度时支持训练证据数量,如果筛选的支持数据不够,可以适当增加;默认为6。
* `sparse_num`:筛选稀疏数据数量,建议为开发集的10%~20%,默认为100。
* `support_num`:用于数据增强的支持数据数量,建议为训练集的10%~20%,默认为100。
* `support_threshold`:支持数据的阈值,只选择支持证据分数大于阈值作为支持数据,默认为0.7。
Expand Down Expand Up @@ -183,7 +184,8 @@ python sparse.py \
* `max_seq_length`:分词器tokenizer使用的最大序列长度,ERNIE模型最大不能超过2048。请根据文本长度选择,通常推荐128、256或512,若出现显存不足,请适当调低这一参数;默认为128。
* `batch_size`:批处理大小,请结合显存情况进行调整,若出现显存不足,请适当调低这一参数;默认为32。
* `seed`:随机种子,默认为3。
* `rationale_num`:计算样本置信度时支持训练证据数量,默认为3。
* `rationale_num_sparse`:筛选稀疏数据时计算样本置信度时支持训练证据数量;认为3。
* `rationale_num_support`:筛选支持数据时计算样本置信度时支持训练证据数量,如果筛选的支持数据不够,可以适当增加;默认为6。
* `sparse_num`:筛选稀疏数据数量,建议为开发集的10%~20%,默认为100。
* `support_num`:用于数据增强的支持数据数量,建议为训练集的10%~20%,默认为100。
* `support_threshold`:支持数据的阈值,只选择支持证据分数大于阈值作为支持数据,默认为0.7。
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,8 @@
parser.add_argument("--max_seq_length", default=128, type=int, help="The maximum total input sequence length after tokenization. Sequences longer than this will be truncated, sequences shorter will be padded.")
parser.add_argument("--batch_size", default=16, type=int, help="Batch size per GPU/CPU for training.")
parser.add_argument("--seed", type=int, default=3, help="random seed for initialization")
parser.add_argument("--rationale_num", type=int, default=3, help="Number of rationales per example.")
parser.add_argument("--rationale_num_sparse", type=int, default=3, help="Number of rationales per example for sparse data.")
parser.add_argument("--rationale_num_support", type=int, default=6, help="Number of rationales per example for support data.")
parser.add_argument("--sparse_num", type=int, default=100, help="Number of sparse data.")
parser.add_argument("--support_threshold", type=float, default="0.7", help="The threshold to select support data.")
parser.add_argument("--support_num", type=int, default=100, help="Number of support data.")
Expand Down Expand Up @@ -180,7 +181,8 @@ def find_sparse_data():
# Feature similarity analysis & select sparse data
analysis_result = []
for batch in dev_data_loader:
analysis_result += feature_sim(batch, sample_num=args.rationale_num)
analysis_result += feature_sim(batch,
sample_num=args.rationale_num_sparse)
sparse_indexs, sparse_scores, preds = get_sparse_data(
analysis_result, args.sparse_num)

Expand Down Expand Up @@ -280,7 +282,8 @@ def find_support_data():
# Feature similarity analysis
analysis_result = []
for batch in sparse_data_loader:
analysis_result += feature_sim(batch, sample_num=-1)
analysis_result += feature_sim(batch,
sample_num=args.rationale_num_support)

support_indexs, support_scores = get_support_data(analysis_result,
args.support_num,
Expand Down

0 comments on commit 77b65d3

Please sign in to comment.